NSLocaleCountryCode返回nil
问题描述:
我有,指出在以下行,其中客户端的NSMutableDictionary
NSLocaleCountryCode返回nil
[client setObject:[[NSLocale currentLocale] objectForKey:NSLocaleCountryCode] forKey:@"country"];
我的猜测是一个实例崩溃一个bug报告,该NSLocaleCountryCode
返回该行,从而导致增加了无零对象到NSDictionary
这将导致崩溃。问题是,有没有人遇到过这样的问题?是否有任何原因NSLocaleCountryCode
可能为零?该文档没有说任何关于返回零值的内容,我认为这将始终返回一个有效的国家。
最好的问候, 迈克尔
答
有others谁经历过这个问题,当NSLocale
是“系统区域设置”。你需要在你的编码较为抗跌,由要么不填充的关键,如果它是nil
或使用[NSNull null]
:
NSLocale *locale = [NSLocale currentLocale];
NSString *country = [locale objectForKey:NSLocaleCountryCode];
if (country != nil)
{
[client setObject:country forKey:@"country"];
}
这是发生在实际设备上还是在测试中?如果它只在测试过程中发生,可能是@olejnjak在下面提到的。 – ThomasW 2018-01-15 02:20:14
这发生在生产中的多个真实设备上。 – 2018-01-15 18:36:35