0

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

但是,如果我以编程方式修改 NSArrayController 数组中包含的 NSMutableDictionaries 之一,则不会保存任何更改。只有在创建字典时设置的值似乎仍然存在。

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

更新:我已经从 NSMutableDictionary 切换到符合 KVC 的自定义对象(据我所知 - 我正在使用属性,因此应该注意)以及 NSCoding。它可以而且确实可以很好地保存和恢复 - 它只是不一致。它有点像在我想要的时候而不是在我更新属性时保存。

4

1 回答 1

0

好吧,我最终只是编写了自己的控制器,负责将下载内容加载和保存到他们自己的 plist 文件中。当它被告知时,它会保存,所以问题就解决了。

于 2013-06-05T17:44:16.760 回答