- (NSString *)countryNameByCode:(NSString*)countryCode { NSString *identifier = [NSLocale localeIdentifierFromComponents:@{NSLocaleCountryCode: countryCode}]; NSString *countryName = [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:identifier]; return countryName; }
countryName 아니요. 왜? [[NSLocale currentLocale] displayNameForKey...]
이 iOS 8
에 국가 이름을 반환하지 않습니다하지만 위의 코드 문제를 해결해야하는 이유xcode 6.1 iOS 8.1 NSLocale displayNameForKey NSLocaleIdentifier return nil
문제 : http://stackoverflow.com/questions/26603766/swift-nslocale-simulator-ios-8 –
이 문제는 시뮬레이터에서만 발생합니다. 나는 오늘 장치에 그것을 시험했다, 나는 정확한 나라 이름을 얻는다. –
이 시뮬레이터에서이 문제를 직접 만났습니다. 모든 국가의 목록이있는 테이블 뷰를 채우고 시뮬레이터에서 null을 반환하는 displayNameForKey로 인해 충돌이 발생했습니다. 나는 8.1로 모든 시뮬레이터 장치에서 그것을 시험해 보았고 모두 충돌했다. iOS 7.1이 적용된 iPhone4 및 iPhone 5 시뮬레이터가 올바르게 실행됩니다. 내 코드는 또한 실제 장치에서 실행됩니다. iPhone4s 및 iPhone5와 8.1이 설치되어 있으므로 Xcode 버그가있는 것 같습니다. 솔루션 - 애플 픽스 때까지 디바이스 테스트 - 손에 6, 6 플러스가 없기 때문에 험담하다. ( – SimonTheDiver