Mic*_*chs 14 country foundation ios nslocale
我有一个bug报告,在下一行中说明崩溃,其中client是一个实例 NSMutableDictionary
[client setObject:[[NSLocale currentLocale] objectForKey:NSLocaleCountryCode] forKey:@"country"];
Run Code Online (Sandbox Code Playgroud)
我的猜测是,NSLocaleCountryCode在这一行中返回nil,这导致向一个NSDictionary导致崩溃的nil对象添加.问题是,有没有人经历过这样的问题?有什么理由NSLocaleCountryCode可以为零currentLocale吗?文档没有说明返回零值,我认为这将总是返回一个有效的国家.
最好的问候,迈克尔
还有其他人遇到过这个问题,什么时候NSLocale是"系统区域设置".你需要在你的编码中更加防守,要么不填写密钥,如果是nil或使用[NSNull null]:
NSLocale *locale = [NSLocale currentLocale];
NSString *country = [locale objectForKey:NSLocaleCountryCode];
if (country != nil)
{
[client setObject:country forKey:@"country"];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6684 次 |
| 最近记录: |