【问题标题】:Bindings not updated. Can't see what's wrong绑定未更新。看不出有什么问题
【发布时间】:2011-02-20 11:29:15
【问题描述】:

这是我的设置:

在我的应用委托中,我注册了我的默认值。

在我的首选项 nib 中,我使用控制器键 values 和模型键路径 test 将复选框绑定到共享用户默认值。

在我的自定义对象中,我有一个 property BOOL test 并在它的 init 方法中调用

[self bind: @"test" toObject: [NSUserDefaults standardUserDefaults] withKeyPath: @"values.test" options: nil];

在同一个对象中,我有@property NSString *testString,还有一个+ (NSSet *)keyPathsForValuesAffectingTestString,它返回一个带有@"test" 的NSSet。

我将- (NSString *)testString 子类化,但它从未被调用。

我错过了什么吗?

提前致谢。

【问题讨论】:

    标签: objective-c cocoa nsuserdefaults cocoa-bindings key-value-observing


    【解决方案1】:

    找到了解决方案:如果我使用 [NSUserDefaultsController sharedUserDefaultsController] 而不是 [NSUserDefaults standardUserDefaults] 它可以工作。

    【讨论】:

    • 是的。请记住,Bindings 是 AppKit 的一部分,因此您需要 AppKit 的 Bindings-aware 对象之一,而不是 Foundation Bindings-unware 对象。 NSUDC是前者; NSUD 是后者。
    猜你喜欢
    • 2015-11-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    相关资源
    最近更新 更多