Objective c 绑定未更新。Can';我看不出是什么';这是不对的
这是我的设置: 在我的应用程序委托中,我注册默认设置 在我的首选项nib中,我已将一个复选框绑定到具有控制器键Objective c 绑定未更新。Can';我看不出是什么';这是不对的,objective-c,cocoa,nsuserdefaults,cocoa-bindings,key-value-observing,Objective C,Cocoa,Nsuserdefaults,Cocoa Bindings,Key Value Observing,这是我的设置: 在我的应用程序委托中,我注册默认设置 在我的首选项nib中,我已将一个复选框绑定到具有控制器键值和模型键路径测试的共享用户默认值 在我的自定义对象中,我有一个属性BOOL test,并在它的init方法中调用它 [self bind: @"test" toObject: [NSUserDefaults standardUserDefaults] withKeyPath: @"values.test" options: nil]; 在同一个对象中,我有@属性NSString*te
值
和模型键路径测试
的共享用户默认值
在我的自定义对象中,我有一个属性BOOL test
,并在它的init
方法中调用它
[self bind: @"test" toObject: [NSUserDefaults standardUserDefaults] withKeyPath: @"values.test" options: nil];
在同一个对象中,我有@属性NSString*testString
,还有一个+(NSSet*)keypathsforvaluesafectingteststring
,它返回一个带有@“test”
的NSSet
我子类化了-(NSString*)testString
,但它从未被调用
我错过什么了吗
提前感谢。找到了一个解决方案:如果我使用
[NSUserDefaultsController sharedUserDefaultsController]
而不是[NSUserDefaultsStandardUserDefaults]
,它会起作用。是的。记住绑定是AppKIT的一部分,所以你需要一个AppKIT的绑定感知对象,而不是一个基础绑定不知道的对象。NSUDC是前者;NSID是后者。