2017-04-21 3 views
0
abrufen

Ich versuche, einige grundlegende Informationen von NSLocale zu drucken, aber ich bin nicht in der Lage, einen Wert von der Eigenschaft .scriptCode zurück zu bekommen.Wie Sie einen Wert für NSLocale .scriptCode in Swift

Derzeit sind die entsprechenden Bits sind

let localeIdent = NSLocale.autoupdatingCurrent.identifier 
let userLocale = NSLocale(localeIdentifier: localeIdent) 
let languageScript = userLocale.scriptCode //not sure why this doesn't seem to return anything. 
print("Language script code: \(languageScript)") 

der Druck immer wieder 'Null'.

Das Gebietsschema gibt den Rest der Reihe von Informationen für mich, Region und Sprache und so, so dass ich nicht sicher bin, warum das nicht gespeichert/zurückgeben würde.

+1

FYI - verwenden Sie 'Locale', nicht' NSLocale' in Swift 3. – rmaddy

+0

Gibt es einen bestimmten Grund dafür? – Matt

Antwort

1

Nicht alle Ländereinstellungen haben einen Skriptcode. Siehe den Language and Locale IDs Abschnitt der Internationalization and Localization Guide.

Gebietsschema-IDs können verschiedene Teile enthalten, z. B. Sprachcode, Skriptcode und Regionscode. Die Skript- und Regionscodes sind optional.

Blick in der Dokumentation für Locale scriptCode für ein Beispiel:

Zum Beispiel für das Gebietsschema „zh-Hant-HK“, gibt „Hant“.

Einfachere Orte wie en_US oder de_DE haben kein Script-Code.

+0

Fühle mich ein bisschen albern - ich dachte, ich hätte das probiert und habe immer noch eine Null-Antwort, aber versuche es jetzt wieder, ich bekomme die Antwort. Vielen Dank! – Matt

Verwandte Themen