Cocoa绑定到数组控制器中的特定项

时间:2009-03-21 23:19:50

标签: cocoa cocoa-bindings key-value-observing nsarraycontroller key-value-coding

是否可以使用NSArrayControllerNSTextField的值绑定到数组中的特定项?特别是,我想绑定到数组中第一项的属性,如果数组为空则不显示任何内容。

使用arrangedObjects.command只显示“(” - 可能是它试图显示每个项目的逗号分隔字符串的多行字符串。我只想要第一个。

1 个答案:

答案 0 :(得分:6)

将文本字段绑定到selection.command,并以编程方式将数组控制器的选择索引设置为0.每次向内容数组添加或删除项目时,都可能需要将选择索引重新设置为0。

显然,如果您允许用户选择阵列控制器中的项目(您需要第二个阵列控制器),这将不起作用。我假设情况并非如此,因为如果是这样,我希望你想要显示用户选择的对象,而不是总是第一个对象。

编辑:更好的是,不要这样做 - 如果数组中第一个对象有一些特殊状态,你应该创建一个单独的非数组属性(在保存原始数组的同一个对象中,从中我假设数组控制器正在获取它)来保存具有该状态的对象。