1

在我的 mac 应用程序中,[Model m] 是一个具有合成 BOOL 属性和 ivar rollAnimations 的自定义对象。AnimationsItem 是一个 NSMenuItem 对象。我想将我的 animationsItem 的状态绑定到 [Model m] 的 rollAnimations 属性和 ivar。双向绑定是理想的(因此更改任一属性会更改另一个),但如果这很混乱(保留周期等),我将满足于单向绑定,这样更改菜单项会更改 rollAnimations财产。

这是一个代码片段。它不工作。我错过了什么?

NSMutableDictionary *bindingOptions = [NSMutableDictionary dictionary];
NSNumber *yesNumber = [NSNumber numberWithBool:YES];
[bindingOptions setObject:yesNumber forKey:NSValidatesImmediatelyBindingOption];
[animationsItem bind:@"state" toObject:[Model m] withKeyPath:@"rollAnimations" options:bindingOptions];
4

1 回答 1

6

Cocoa Bindings Reference列出了菜单项支持的所有绑定。你想要的是@"value",不是@"state"。(顺便说一下,这也适用于按钮。)

于 2011-02-05T18:44:48.260 回答