Arrays iOS8:将数组保存到用户默认值会使应用程序“暂停”

Arrays iOS8:将数组保存到用户默认值会使应用程序“暂停”,arrays,ios8,nsuserdefaults,preferences,Arrays,Ios8,Nsuserdefaults,Preferences,这个bug是最近iOS8更新的1小时前的。基本上,我们正在NSUserDefault首选项中保存一组字典,它以前工作正常,现在不行 症状:应用程序读取该行,并在没有崩溃或任何错误的情况下停止。没有任何消息。即使几分钟后也不会有日志记录 不知道为什么或如何,欢迎任何建议 如果这有什么帮助的话,这就是崩溃的原因: [[NSUserDefaults standardUserDefaults] setObject:credentialsList forKey:CONFIG_Credentials];

这个bug是最近iOS8更新的1小时前的。基本上,我们正在NSUserDefault首选项中保存一组字典,它以前工作正常,现在不行

症状:应用程序读取该行,并在没有崩溃或任何错误的情况下停止。没有任何消息。即使几分钟后也不会有日志记录

不知道为什么或如何,欢迎任何建议

如果这有什么帮助的话,这就是崩溃的原因:

 [[NSUserDefaults standardUserDefaults] setObject:credentialsList forKey:CONFIG_Credentials];

此数组包含每个用户一个字典及其所有凭据。

好的,我找到了解决此问题的方法

我已经读到,NSUserDefault对许多人来说都是一个问题,但在我的例子中,它只是这样:

在NSUserDefaults中保存NSMutableArray

现在我注意到保存数组效果很好,只有可变数组会导致问题,请参见上面的注释。所以我只是创建了一个数组,并用可变数组启动它,然后保存数组而不是可变数组

像这样:

//My mutable array is called credentialsList
NSArray *temp = [[NSArray alloc]initWithArray:credentialsList];
[[NSUserDefaults standardUserDefaults] setObject:temp forKey:CONFIG_Credentials];

有没有从设备控制台收到与你的应用程序相关的日志消息?没有,就是这样。在用户默认设置中,一切都可以插入,当我尝试插入包含字典的数组时。我几乎没有关于这是怎么发生的信息……等等,你说的是设备控制台,我没有检查那个。我来看看