【发布时间】:2012-01-04 01:54:27
【问题描述】:
具有单列的基于视图的 NSTableView。每个“单元格”包含几个 NSTextField、一个 NSImageView 和一个 NSButton,所有这些都绑定到 Table Cell View 的 objectValue 的各种属性。 NSTableView的内容绑定到一个NSArrayController的arrayObjects,它是Entity模式,绑定到相关的NSManagedObjectContext。
NSTextFields 和 NSImageView 的行为符合预期。然而,出于某种原因,NSButton 没有。它总是被禁用。我已将其参数绑定到 objectValue 的属性,并将其目标绑定到文件的所有者。实验表明导致问题的是参数绑定而不是目标绑定。印象是参数值必须为零,因此导致按钮被禁用。但实际上不可能,因为其他绑定(NSTextFields 等)工作正常。
我在基于单元格的表格视图中多次使用按钮参数/目标绑定没有问题。所以我想也许基于视图的表格视图有一些特征意味着这种绑定不起作用。但是 Apple 的 TableViewPlayground 示例使用这种方法(在 HUD 面板中)没有问题。我的绑定以完全相同的方式设置。我能看到的唯一区别是 Apple 的示例使用类模式数组控制器,而我的是实体模式。但我不敢相信这就是问题所在(或者至少我非常希望这不是一个严重的弱点)。,
【问题讨论】:
标签: nstableview cocoa-bindings nsbutton