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