2016-06-20 31 views
8

Sto installando un piccolo negozio di acquisto di app per paesi multipli. Come posso capire che devo mostrare il prezzo in dollari, euro ecc ... Penso che abbia a che fare con l'identificativo locale, ma non sono sicuro di come gestire questoOttieni valuta locale in swift

risposta

33

È possibile ottenere il simbolo di valuta e il codice da (NS)Locale con

Swift 1 e 2

let locale = NSLocale.currentLocale() 
let currencySymbol = locale.objectForKey(NSLocaleCurrencySymbol)! 
let currencyCode = locale.objectForKey(NSLocaleCurrencyCode)! 

Swift 3

let locale = Locale.current() 
let currencySymbol = locale.object(forKey: .currencySymbol)! 
let currencyCode = locale.object(forKey: .currencyCode)! 

Swift 3,1

let locale = Locale.current 
let currencySymbol = locale.currencySymbol! 
let currencyCode = locale.currencyCode! 

Questo si correla con le impostazioni del formato regione utente e funziona sia iOS e macOS

+0

Con Xcode Beta 4 (Swift 3) I 'sto ottenendo l'errore: valore di tipo' Locale 'non ha membro' oggetto ' – blwinters

+0

@blwinters penso che l'equivalente di swift 3 è Locale.current.regionCode – bolnad

+0

@blwinters La sintassi può cambiare tutto il tempo durante il periodo beta. Si prega di leggere la documentazione di 'Locale' nella versione Xcode appropriata. – vadian

2

per swift3

//User region setting return 
let locale = Locale.current //NSLocale.current 

//Returns true if the locale uses the metric system (Note: Only three countries do not use the metric system: the US, Liberia and Myanmar.) 
let isMetric = locale.usesMetricSystem 

//Returns the currency code of the locale. For example, for “zh-Hant-HK”, returns “HKD”. 
let currencyCode = locale.currencyCode 

//Returns the currency symbol of the locale. For example, for “zh-Hant-HK”, returns “HK$”. 
let currencySymbol = locale.currencySymbol 
Problemi correlati