특정 로케일 식별자를 사용하여 NSLocale을 초기화하려는 경우, 그것이 합법적 식별자인지 어떻게 알 수 있습니까? 아무리 내가 쓰는 식별자라도 상관없이, NSLocale은 여전히 무언가로 초기화됩니다.NSLocale - 유효하지 않은 식별자
예를 들어, 언어가 아랍어이고 국가 코드가 NO 인 로캘 인 "ar_NO"를 전달하면 내가 얻은 NSLocale 개체가 합법적 인 것으로 보입니다. 예를 들어 해당 로캘의 달력에서 -[NSCalendar firstWeekday]
을 호출하면 월요일이 반환됩니다. 제 질문은 그것이 어디에서 오는 것입니까? 주어진 식별자를 사용할 수없는 경우 iOS가 다른 로케일로 폴백합니까? 나는 그것이 "ar"기지로 돌아갈 것이라고 생각할 것이다. 그러나 "ar"firstWeekday는 토요일이다. 그래서 그렇지 않다.
참고 : 식별자가 ISO BCP 47 사양에 따라 지정되었고 기능이 [NSLocale availableLocaleIdentifiers]
인 것을 알고 있지만 그 목록에없는 식별자를 사용하더라도 여전히 NSLocale을 얻을 수 있으므로 실제로 도움이되지 않습니다.
누구든지 어떤 생각이 있습니까? 미리 감사드립니다.