【发布时间】:2011-07-03 02:29:01
【问题描述】:
上下文:
我有一个与 Core Data 绑定的 NSArrayController,它为 NSTableView 提供行。当用户选择行时,arrayController 的“selectedObjects”属性会发生变化。
现在,这些“selectedObjects”中的每一个都是一个名为“LPFile”的核心数据实体,它有一个名为“style”的属性,它是一个从 0 到 3 的整数。“style”属性应该对应于一个NSPopUpButton.
我的问题:
如果用户选择多行并且与这些行关联的 LPFile 具有相同的“样式”值,我希望 NSPopUpButton 将其“selectedIndex”属性设置为该值。如果行的对象具有不同的“样式”值,则 NSPopUpButton 应该显示一个空白行。 (当用户随后选择一种样式时,该空白行应从 NSPopUpButton 中消失。)
我知道如何通过手动编写代码来实现这一点,如果选择仅限于单行,我可以设置这些绑定,但我如何设置绑定来处理可能具有或不具有不同值的多个选定对象为“风格”?我用谷歌搜索了很多,但找不到具体信息,我厌倦了试验! (注意:我在 IB 中为 NSPopUpButton 提供内容项,所以我没有将任何内容绑定到按钮的内容绑定。)
【问题讨论】:
标签: objective-c cocoa macos core-data cocoa-bindings