我似乎在绕着这个问题转圈子,现在我不知道要去哪里。
我正在尝试强制使用我的应用程序的语言(瑞典语),如下所示。
@autoreleasepool {
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"sv", nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults]synchronize];
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
我已经在 main 方法中完成了它,以便在启动应用程序后立即设置首选项。
然后,当我想按字母顺序对数组进行排序时,我使用NSSortDescriptor
selector localizedCaseInsensitiveCompare:
。
NSSortDescriptor *valueDescriptor = [[NSSortDescriptor alloc] initWithKey:@"iName" 升序:YES 选择器:@selector(localizedCaseInsensitiveCompare:)];
NSArray * 描述符 = [NSArray arrayWithObject:valueDescriptor];
self.ingredientsList = [NSMutableArray arrayWithArray:[self.ingredientsList sortedArrayUsingDescriptors:descriptors]];
但我的问题是用我的本地语言进行排序并不是第一次发生。但是如果我重新启动应用程序,排序是根据语言(瑞典语)。为什么不是第一次发生?
我究竟做错了什么?
帮助/建议将不胜感激。谢谢