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
8
A
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
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
Con Xcode Beta 4 (Swift 3) I 'sto ottenendo l'errore: valore di tipo' Locale 'non ha membro' oggetto ' – blwinters
@blwinters penso che l'equivalente di swift 3 è Locale.current.regionCode – bolnad
@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