Я, кажется, хожу по кругу вокруг этой проблемы, и сейчас я никуда не пойду.
Я пытаюсь установить язык моего приложения (на шведский), как показано ниже.
@autoreleasepool {
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"sv", nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults]synchronize];
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
Я сделал это в основном методе, поэтому предпочтение устанавливается сразу после запуска приложения.
Затем, когда я хочу отсортировать массив по алфавиту, я использую NSSortDescriptor
с селектором localizedCaseInsensitiveCompare:
.
NSSortDescriptor * valueDescriptor = [[NSSortDescriptor alloc] initWithKey: @iName ascending: YES selector: @selector (localizedCaseInsensitiveCompare :)];
NSArray * дескрипторы = [NSArray arrayWithObject: valueDescriptor];
self.ingredientsList = [NSMutableArray arrayWithArray: [self.ingredientsList sortedArrayUsingDescriptors: дескрипторы]];
Но моя проблема в том, что сортировка с моим местным языком происходит не в первый раз. Но если я перезапущу приложение, сортировка будет по языку (шведский). Почему не происходит с первого раза?
Что я делаю неправильно?
Помощь / предложения будут оценены. Спасибо