【发布时间】:2011-09-09 10:08:23
【问题描述】:
我开始进入 NSUserDefaults 的内部密室,现在我可以使用提供的选择器和 NSNotification 对象作为参数成功拦截 NSUserDefaultsDidChangeNotification 通知。但是,返回的 NSNotification 对象并没有像我预期的那样出现。
我所期待的是:
1) 从通知中心接收 NSUserDefaultsDidChangeNotification。
2) 查询返回的提供的 NSNotification 对象以获取包含至少一个键/值对的用户信息,其中 key="当您睡着时,以下默认值已更改" 和 object="已采用新值的应用程序键的 NSArray"。
我得到的是:
1) 同上
2) 用户信息=无! (有谁知道为什么......?)
我的应用委托是 NSUserDefaultsDidChangeNotification 的注册响应者,因此会将更改分发给任何需要了解其设置不同的对象。在我开始编写自己的代码以检测哪些键受到用户默认值更改的影响之前,任何人都可以建议我吗? (a) 是否必须自己确定发生了哪些变化——或者我是否遗漏了一些非常明显的东西? (b) 任何人都可以指出一些文档(开发文档除外!),其中提供了如何以 Apple 批准的方式处理 NSUserDefaultsDidChangeNotification 的示例?如果可能的话,我渴望不要重新发明轮子。我已经丢弃了返回的 NSNotification 对象的 dictionaryRepresentation ——但很明显,它也包含 Apple 自己的所有键/值。 再次感谢,提前。 V.V.
【问题讨论】:
标签: nsuserdefaults nsnotifications