#objective-c #xcode #cocoa
#objective-c #xcode #какао
Вопрос:
В чем разница между [NSLocale preferredLanguages]
и [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]
?
- Я запутался в описании документации Apple и не могу четко понять, кто может рассказать мне об их различиях? потому что я получаю от них одни и те же данные.
- какой из них мы должны использовать в разных случаях?
Ответ №1:
Вы должны использовать [NSLocale preferredLanguages]
, использовать [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]
, если вы поддерживаете Mac OS X 10.4 или более раннюю версию.
Ответ №2:
Оба предназначены для возврата одного и того же, первый просто удобнее.
В документации Apple говорится: для [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]
Возвращаемый массив содержит языки, связанные с ключом AppleLanguages, в предпочтительном порядке пользователя.
В документации Apple говорится: для [NSLocale preferredLanguages]
Порядок языковых предпочтений пользователя в виде массива объектов NSString,
Комментарии:
1. какой из них мы должны использовать в разных случаях?
2. Что, если оба они возвращают nil, как в моем случае?