- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
如何在 Swift 3 中获取货币符号?
public class Currency: NSObject {
public let name: String
public let code: String
public var symbol: String {
return NSLocale.currentLocale().displayNameForKey(NSLocaleCurrencySymbol, value: code) ?? ""
}
// MARK: NSObject
public init(name: String, code: String) {
self.name = name
self.code = code
super.init()
}
}
我知道 NSLocale 已重命名为 Locale,但 displayNameForKey 已被删除,我似乎只能使用 localizedString(forCurrencyCode: self.code) 在当前语言环境中生成货币名称而无法获取其符号.我正在寻找一种在当前语言环境中获取外币符号的方法。
还是我忽略了什么?
最佳答案
NSLocale
没有重命名,它仍然存在。 Locale
是一个Swift 3 中引入的新类型作为值类型包装器(比较 SE-0069 Mutability and Foundation Value Types )。
显然 Locale
没有 displayName(forKey:value:)
方法,但你总是可以将它转换成它的基础对应物NSLocale
:
public var symbol: String {
return (Locale.current as NSLocale).displayName(forKey: .currencySymbol, value: code) ?? ""
}
更多例子:
// Dollar symbol in the german locale:
let s1 = (Locale(identifier:"de") as NSLocale).displayName(forKey: .currencySymbol, value: "USD")!
print(s1) // $
// Dollar symbol in the italian locale:
let s2 = (Locale(identifier:"it") as NSLocale).displayName(forKey: .currencySymbol, value: "USD")!
print(s2) // US$
关于swift - NSLocale Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39519144/
我正在尝试使用以下代码获取用户选择的当前首选语言: NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0]; 这是第一
我似乎一直在围绕这个问题兜圈子,但现在却无路可走。 我正在尝试强制我的应用程序的语言(瑞典语),如下所示。 @autoreleasepool { [[NSUserDefaults standa
我想在应用程序中添加两个按钮并执行一些操作。我想在 XIB 中切换两种语言按钮。假设有Button,1是英文,2是法文。我在应用程序中添加了一些数据。如果我选择英语按钮,则数据将以英语显示,而法语按钮
以下代码提供了一个包含所有语言的数组, 我还是希望过滤掉诸如“en-GB”,“zh-Hant”之类的变体,并且每个语言只有一个2个字符的数组。 苹果这样做的优雅方式是什么? NSLog(@"[NSL
我有一根绳子,根据某些情况,中间有不同的部分。 示例:您失去了 255 积分。 点值“255”是变化的部分,我想将不变的部分保存在我的字符串文件中。但是我不想在我的字符串文件中有两个条目,例如。 "s
[NSLocale currentLocale]可能会返回 'en_US@calendar=japanese'} 问题:我可以说 NSLocale 不附加 calendar=japanese到语言环境
我正在尝试使用以下代码获取设备当前选择的语言代码。 NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0]; 此行在安
我希望少数 iTunes 商店使用我的应用程序。我读了NSLocale Class Reference他们正在谈论“当前用户”。那么,谁是“当前用户”?是下载过app的用户吗? 1) 是否有可能根据当
我正在使用闹钟应用程序。我正在使用 NSLocal 通知创建警报。警报工作正常。我的问题是我需要不间断地重复循环 Alatm。 我的代码: UILocalNotification *localNot
我正在使用 Swift 3 开发 iOS。 我得到了国家名称字符串,如“日本”、“英国”、“西类牙”等。 我想知道从国家名称生成 NSLocale 实例的最佳方法是什么? 我只找到了localized
我已经找到了很多方法来解决这个问题,但没有有效的解决方案。这是我尝试过但没有奏效的方法。 (1) 只需调用primaryLanguage() UITextInputMode().primaryLang
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
所以在我的应用程序中,我试图获取设备当前设置的语言及其首字母缩写词。所以我这样做: NSString *fullLanguage = [[NSLocale currentLocale] display
我使用以下代码作为代码和国家/地区名称,但它返回 null。 NSLocale *locale = [NSLocale currentLocale]; NSString *countryCode =
有没有办法像在设置应用程序中一样在 iphone 上获取所有可用语言? 在 NSLocales 类引用中找不到方法。 谢谢! alt text http://dl.getdropbox.com/u/8
我使用此代码获取 iPhone 属于哪个国家/地区: NSLocale *locale = [NSLocale currentLocale]; NSString *countryCode = [loc
我想获取当前选择的 iPhone 语言。如果使用“NSLocale”,它总是返回相同的语言。看来这不是您在 iPhone 设置中选择的。 NSLocale * locale = [NSLocale c
有没有更好的方法来编码而不使用魔术“en”,“es”字符串? let pre = Locale.preferredLanguages[0] if pre == "en" .... el
我试图让 Xcode 返回各种格式的 iOS 语言名称列表。在下面的代码中,我创建了一个字典,返回可以从 NSLocale 返回的各种字符串。 langInUsersLang - 返回用户语言的语言名
我想获得一份国家列表,其中包含相应的语言和货币。 首先我创建了我的类来存储我需要的信息: class Country: NSObject { var localeID:String?
我是一名优秀的程序员,十分优秀!