【发布时间】:2009-04-21 13:17:03
【问题描述】:
我在我的应用程序中继承了 NSUserDefaults。这样做的副作用是我不能使用[NSUserDefaults sharedUserDefaults],我必须有一个类方法来提供我自己的静态默认对象。这在代码中不是问题,但现在我正在将首选项 UI 与绑定连接起来,这证明它很棘手。
共享的 NSUserDefaultsController 使用共享的默认值,所以不存在了。相反,我可以在我的窗口控制器中创建我自己的默认控制器,为它提供我的静态默认对象,并将我的绑定连接到它。虽然这并不完全有效。当我尝试在我的默认对象上使用 KVO 时,我没有收到任何更改通知。我使用常规的 NSUserDefaults 对象(不是子类)再次尝试了此操作,并且再次没有 KVO 通知。替换为共享默认对象,KVO 完全按照我的预期工作。
是否有人对我在不使用共享默认值时如何让绑定和 KVO 工作有任何想法?
【问题讨论】:
标签: objective-c cocoa cocoa-bindings nsuserdefaults key-value-observing