Pourriez-vous m'aider à obtenir l'indicatif du pays en utilisant NSLocale
sur Swift 3
?
Voici le code précédent que j'ai utilisé.
NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as! String
Je peux obtenir le code de langue comme ci-dessous dans Swift 3.
Locale.current.languageCode!
Comme je peux le voir, la récupération de languageCode est simple mais la propriété countryCode n'est pas disponible.
1 votes
La même approche que dans stackoverflow.com/a/39519359/1187415 fonctionne ici aussi :
(Locale.current as NSLocale).object(forKey: .countryCode)
.0 votes
Je peux voir que ça marche. Merci pour votre aide.
0 votes
Let locale = Locale.current print(locale.regionCode)
0 votes
Je suppose que regionCode est différent de countryCode ?
0 votes
@MartinR J'ai édité ceci pour votre révision.
0 votes
@MartinR Il ne semble pas s'agir d'un doublon. Cette question concerne le code pays et non la devise
0 votes
@Daniel : C'est le même problème avec la même solution : Vous devez convertir la locale en
NSLocale
. Voir mon premier commentaire que l'OP a confirmé.0 votes
Voici la réponse à cette question : let countryCode = (NSLocale.current as NSLocale).object(forKey : NSLocale.Key.countryCode) as ? String. Je pense que cette question devrait être réouverte - et non marquée comme un doublon - bien que la stratégie de résolution soit similaire.
0 votes
@Daniel : Comme vous voulez :)