我有一个bugreport,在下面的行中声明了一个崩溃,其中client是NSMutableDictionary的一个实例
[client setObject:[[NSLocale currentLocale] objectForKey:NSLocaleCountryCode] forKey:@"country"];
我的猜测是,NSLocaleCountryCode在此行中返回nil,这导致将一个nil对象添加到NSDictionary,这将导致崩溃.问题是,有人曾经遇到过这样的问题吗?是否有任何原因NSLocaleCountryCode可能无法为当前的Locale?文档没有说任何返回零价值,我认为这将永远返回一个有效的国家.
最好的祝福,
迈克尔
解决方法
有
others人遇到这个问题,当NSLocale是“系统区域”时.你需要在你的编码中更加防守,如果没有填充密钥或使用[NSNull null]:
NSLocale *locale = [NSLocale currentLocale]; NSString *country = [locale objectForKey:NSLocaleCountryCode]; if (country != nil) { [client setObject:country forKey:@"country"]; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。