对NSUserDefaults绑定的NSArrayController中的对象的修改不保存

时间:2013-05-29 19:55:56

标签: nsuserdefaults nsmutabledictionary cocoa-bindings nsarraycontroller

在我的项目中,我有一个NSArrayController绑定到应用程序的标准默认值(NSUserDefaults)。这本身就很有效 - 添加的对象会按预期保存和恢复。

但是,如果我以编程方式修改NSArrayController数组中包含的NSMutableDictionaries之一,则不保存任何更改。只有通过创建字典设置的值才会显示出来。

我怀疑这是因为只是在数组中的字典上调用setObject:forValue:不会通知控制器更改,但我不确定。我做错了吗?

更新:我已经从NSMutableDictionary切换到符合KVC的自定义对象(据我所知 - 我正在使用属性以便应该处理)以及NSCoding。它可以并且确实可以保存和恢复 - 它只是不一致。无论什么时候感觉它都有用,而不是在我更新房产时保存。

1 个答案:

答案 0 :(得分:0)

好吧,我最后编写了自己的控制器,负责加载并将下载保存到自己的plist文件中。它会在没有失败的情况下保存,因此问题就解决了。