NSUserDefault无法在iOS8中的Extension中保存和加载

NSUserDefault无法在iOS8中的Extension中保存和加载,第1张

概述我需要在iOS自定义键盘中将数据保存到NSUserDefault. 我已经在开发人员门户和XCode中成功创建了应用程序组和权利. 以下是我如何使用UISwitch保存我的价值 - (IBAction)switchAction:(id)sender{ [self.defaults setBool:self.myKey.on forKey:@"myValue"]; [self.d 我需要在iOS自定义键盘中将数据保存到NSUserDefault.
我已经在开发人员门户和XCode中成功创建了应用程序组和权利.

以下是我如何使用UISwitch保存我的价值

- (IBAction)switchAction:(ID)sender{    [self.defaults setBool:self.myKey.on forKey:@"myValue"];    [self.defaults synchronize];}

这是我如何在KeyboardVIEw中加载值.

self.defaults = [[NSUserDefaults alloc] initWithSuitename:@"group.mycompany.customkeyboard"];if([self.defaults boolForKey:@"myValue"]){    self.backgroundcolor = [UIcolor redcolor];}else{    self.backgroundcolor = [UIcolor blackcolor];}

它不起作用,也没有加载价值.

我如何保存和加载数据?

解决方法 在应用程序组的所有应用程序中初始化您的NSUserDefaults对象,它们将共享数据库:

[[NSUserDefaults alloc] initWithSuitename:@"group IDentifIEr"];

请记住,每个应用程序的[NSUserDefaults standardUserDefaults]数据库中的所有内容都不会延续到此数据库中.

[NSUserDefaults standardUserDefaults]应该像上面的代码那样返回共享数据库的documentation indicates,但事实并非如此.我把它作为一个错误提交(rdar:// 17164758).

并且不要忘记同步数据库:

[yourDefaults synchronize];
总结

以上是内存溢出为你收集整理的NSUserDefault无法在iOS8中的Extension中保存和加载全部内容,希望文章能够帮你解决NSUserDefault无法在iOS8中的Extension中保存和加载所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1072321.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存