如果我在NSUserDefaults中覆盖/更改AppleLanguages,当系统语言更改时iOS将不再更新列表。如果我保持列表不变,则数组中的第一个对象始终是系统语言;但是,如果我在索引0处插入一个新对象,然后稍后更改系统语言,iOS将不再将新语言放在列表顶部。是否有一种方法可以更改NSUserDefaults中的AppleLanguages并仍然使系统在系统语言更改时更新列表?
Accatyyc的解决方案非常出色,如果您使用Swift,请使用以下解决方案:
Accatyyc的解决方案非常出色,如果您使用Swift,请使用以下解决方案:
Create a main.swift file, add the Swift version of the code in the accepted answer:
NSUserDefaults.standardUserDefaults().removeObjectForKey("AppleLanguages") UIApplicationMain(Process.argc, Process.unsafeArgv, NSStringFromClass(UIApplication), NSStringFromClass(AppDelegate))
Go to the AppDelegate and remove the following line:
@UIApplicationMain //Removing this tells Xcode to use your main.swift file