草庐IT

NSLocale

全部标签

ios - [NSLocale preferredLanguages] 是否返回空值?

[NSLocalepreferredLanguages]是否有可能为空?我得到的首选语言如下:NSString*preLang=[[NSLocalepreferredLanguages]objectAtIndex:0]在类方法中。但有时(并非总是)应用会在这一行崩溃。我在我的应用程序中多次调用了[NSLocalepreferredLanguages]。有些在实例方法中,两个在类方法中。并且类方法中的两个都随机崩溃。有什么问题?这是崩溃日志:ExceptionType:EXC_BAD_ACCESS(SIGSEGV)ExceptionSubtype:KERN_INVALID_ADDRESS

ios - NSLocale 国家代码和名称为空

我使用以下代码作为代码和国家/地区名称,但它返回null。NSLocale*locale=[NSLocalecurrentLocale];NSString*countryCode=[localeobjectForKey:NSLocaleCountryCode];NSString*country=[localedisplayNameForKey:NSLocaleCountryCodevalue:countryCode];NSLog(@"Language:%@Lang2:%@",[[[NSBundlemainBundle]preferredLocalizations]objectAtInd

ios - NSLocale objectForKey 方法的隐式返回类型是什么?

我有一个带有UIViewController的iOS项目,其中包含一个名为sizeSegmentedControl的UISegmentedControl。我希望sizeSegmentedControl在其左侧的segmentIndex中显示cm(表示厘米),在其右侧的segmentIndex中显示in(表示英寸)。当我构建项目时,我还希望sizeSegmentedControl选择与设备语言环境长度单位对应的segmentIndex。因此,我从以下代码开始:importUIKitclassViewController:UIViewController{@IBOutletweakvars

ios - NSLocale.current.language 返回错误值

这个问题在这里已经有了答案:NSLocalereturningwrongvalueiniOS11(1个回答)关闭4年前。当我在iPhone设置中更改我的语言时,它不会反射(reflect)在NSLocale.current.language中。这是因为我的应用不支持西类牙语吗?我希望它无论如何都能得到反射(reflect)。最终,我试图获取用户首选语言的ISO639-1(2位)区域代码。代码:guardvarpreferredLanguage=NSLocale.preferredLanguages.firstelse{return}forlanguageinNSLocale.prefe

swift - 在 Swift 中将 String 转换为 Double 尊重 NSLocale

我在屏幕上的UITextField中将double字显示为字符串。编辑后,我将其转换回Double。这是一个省略了UITextField的单元测试方法:functestFoundationDouble(){letlocales:[NSLocale]=[NSLocale(localeIdentifier:"en_US"),NSLocale(localeIdentifier:"de_DE")]letnumbers:[Double]=[0.0000001,0.1,1,100000000]forlocaleinlocales{letnf=NSNumberFormatter()nf.locale

objective-c - NSLocale 货币符号,显示在金额之前或之后

我正在使用StoreKit在我的应用程序中实现应用内购买商店。我有一个自定义设计,这意味着价格的值应该是白色和大的,货币符号更小、更暗并与价格值的顶部对齐。我可以通过使用SKproduct的priceLocale属性中的NSLocale毫无问题地获取货币符号,以及价格的值在price属性中。我的问题是知道何时应将货币符号放在价格之前以及何时将其放在价格之后。例子:5,99美元0.79欧元我可以很容易地使用NSNumberFormatter来“开箱即用”地解决这个问题,但是由于我的布局为值和货币符号定义了不同的样式,所以我发现自己处于需要更多手动解决方法的位置。有什么想法吗?

ios - 如何在 Swift 3 中使用 NSLocale 获取国家代码

请问如何在Swift3中使用NSLocale获取国家代码?这是我以前使用的代码。NSLocale.currentLocale().objectForKey(NSLocaleCountryCode)as!String我可以在Swift3中获得如下语言代码。Locale.current.languageCode!如我所见,获取languageCode很简单,但countryCode属性不可用。 最佳答案 您可以在Locale结构上使用regionCode属性。Locale.current.regionCode它没有被记录为旧的NSLoc

swift - NSLocale Swift 3

如何在Swift3中获取货币符号?publicclassCurrency:NSObject{publicletname:Stringpublicletcode:Stringpublicvarsymbol:String{returnNSLocale.currentLocale().displayNameForKey(NSLocaleCurrencySymbol,value:code)??""}//MARK:NSObjectpublicinit(name:String,code:String){self.name=nameself.code=codesuper.init()}}我知道NSL

iphone - NSLocale currentLocale 总是返回 "en_US"而不是用户的当前语言

我正在对iPhone应用程序进行国际化-我需要根据用户当前的语言环境对某些View进行编程更改。我要疯了,因为无论iPhone模拟器或实际硬件上的语言偏好是什么,locale总是评估为“en_US”:NSString*locale=[[NSLocalecurrentLocale]localeIdentifier];NSLog(@"currentlocale:%@",locale);令人疯狂的是,应用程序的其余部分按预期运行。从Localization.strings文件中选择正确的字符串并在界面中使用,并使用所选语言环境的正确.xib文件。我也尝试了以下方法,但无济于事,结果相同:NS

ios - Iphone,获取 NSArray 中的国家/地区列表

我有一个让用户选择国家/地区的菜单。与地址字段中的contacts.app国家菜单中的完全一样。有人知道获取国家/地区列表的简单方法吗?我已经使用NSLocale生成了一系列国家/地区,但不幸的是,它只是国家/地区代码,而不是人类可读的等价物。我不想要“GB”,我想要英国。 最佳答案 谢谢查克。如果有人有兴趣或想在这里找到相同的解决方案,这里是我的国家排序数组代码。objective-C:NSLocale*locale=[NSLocalecurrentLocale];NSArray*countryArray=[NSLocaleISO