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

我使用下面的代码和国家名称,但它返回null.
NSLocale *locale = [NSLocale currentLocale];
Nsstring *countryCode = [locale objectForKey: NSLocaleCountryCode];
Nsstring *country = [locale displayNameForKey: NSLocaleCountryCode value: countryCode];
NSLog(@"Language : %@ Lang2 : %@",[[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0],[[NSLocale preferredLanguages] objectAtIndex:0]);
NSLog(@"Locale:%@ Code:%@ Name%@:",locale,countryCode,country);

developmentRegion = English;
        hasScannedForEncodings = 0;
        kNownRegions = (
            en,Base,fr,de,nl,ja,es,tr,it,pl,pt,);

日志:区域设置:< __ NSCFLocale:0x7fbef943f810>代码:(null)名称(null)

语言:nl Lang2:nl

在设备和模拟器上测试.我不知道这里发生了什么.它应该工作正常.如果你们有任何想法,请告诉我.我正在使用xcode 6.4.

解决方法

终于找到了虫子.

我在另一个测试项目中测试了上面的代码并且工作正常但不在我当前的项目中.
所以我使用了开发人员工具FileMerge并比较了两者,并在下面的行中找到了差异.(xcshareddata-> xcschemes-> ****.xcscheme).

我不知道语言=“nl”是如何得到的,可能是由于合并不好,但回滚和重新合并也不起作用.

手动删除该行解决了我的幽灵问题:)

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...