Cocoa绑定--尝试将NSMenuItem的状态绑定到我的自定义BOOL

Cocoa绑定--尝试将NSMenuItem的状态绑定到我的自定义BOOL,cocoa,macos,cocoa-bindings,nsmenuitem,Cocoa,Macos,Cocoa Bindings,Nsmenuitem,在我的mac应用程序中,[Model m]是一个具有合成布尔属性和ivar动画的自定义对象。AnimationItem是一个NSMenuItem对象。我想将AnimationItem的状态绑定到[Model m]的rollAnimations属性和ivar。双向绑定是理想的,这样更改其中一个属性会更改另一个属性,但如果这是一个混乱的保留周期之类的,我会接受单向绑定,这样更改菜单项会更改rollAnimations属性 下面是一段代码片段。它不起作用了。我错过了什么 NSMutableDictio

在我的mac应用程序中,[Model m]是一个具有合成布尔属性和ivar动画的自定义对象。AnimationItem是一个NSMenuItem对象。我想将AnimationItem的状态绑定到[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];

名单。你想要的是@value,而不是@state,顺便说一下。

列表。你想要的是@value,而不是@state,顺便说一句。

您可以使用[NSDictionary dictionary WithObject:forKey:]简化词典的构造。您可以使用[NSDictionary dictionary WithObject:forKey:]简化词典的构造。