Jor*_*orn 6 nsuserdefaults ios
如果我在NSUserDefaults中覆盖/更改AppleLanguages,则在更改系统语言时,iOS不再更新列表.如果我保持列表不变,则数组中的第一个对象将始终是系统语言,但是,如果我在索引0处插入新对象,稍后更改系统语言,iOS将不会将新语言放在顶部列表了.有没有办法在NSUserDefaults中更改AppleLanguages,并且系统语言更改后系统仍然会更新列表?
来自Accatyyc的解决方案非常出色,如果您使用Swift,这里是解决方案:
创建一个main.swift文件,在接受的答案中添加Swift版本的代码:
NSUserDefaults.standardUserDefaults().removeObjectForKey("AppleLanguages")
UIApplicationMain(Process.argc, Process.unsafeArgv, NSStringFromClass(UIApplication), NSStringFromClass(AppDelegate))
Run Code Online (Sandbox Code Playgroud)转到AppDelegate并删除以下行:
@UIApplicationMain //Removing this tells Xcode to use your main.swift file
Run Code Online (Sandbox Code Playgroud)经过反复试验,我找到了解决方案!删除整个 AppleLanguages 密钥似乎将其恢复为用户在设置应用程序中设置的内容:
int main(int argc, char *argv[])
{
@autoreleasepool {
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppleLanguages"];
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1968 次 |
| 最近记录: |