在我的项目中,我有一个NSArrayController绑定到应用程序的标准默认值(NSUserDefaults)。这本身就很有效 - 添加的对象会按预期保存和恢复。
但是,如果我以编程方式修改NSArrayController数组中包含的NSMutableDictionaries之一,则不保存任何更改。只有通过创建字典设置的值才会显示出来。
我怀疑这是因为只是在数组中的字典上调用setObject:forValue:不会通知控制器更改,但我不确定。我做错了吗?
更新:我已经从NSMutableDictionary切换到符合KVC的自定义对象(据我所知 - 我正在使用属性以便应该处理)以及NSCoding。它可以并且确实可以保存和恢复 - 它只是不一致。无论什么时候感觉它都有用,而不是在我更新房产时保存。
答案 0 :(得分:0)
好吧,我最后编写了自己的控制器,负责加载并将下载保存到自己的plist文件中。它会在没有失败的情况下保存,因此问题就解决了。