请帮忙找出NSCollectionView的绑定

时间:2011-01-28 17:29:14

标签: interface-builder cocoa-bindings nsarraycontroller

我有一个自定义的NSView(MyView),由NSViewCollectionItem呈现。

MyView具有MyObject类型的属性。

我的主要NSWindowController有IBOutlets到NSViewCollection和NSArrayController。

NSArrayController绑定到MyObject类型的对象数组。

我想让数组中的值绑定到“myView.myObject”路径。

我无法弄清楚如何在IB中设置它。我不明白我应该使用哪些键。我的数组是否应该是NSDictionary对象的集合,以便我可以使用名为“myObject”的键而不是直接存储值?

我对绑定很新,所以这有点挣扎。请帮忙。

2 个答案:

答案 0 :(得分:1)

我整理出来了。它应该是这样的:

1)NSArrayController:
绑定→MyWindowController(文件所有者)
模型关键路径→myArrayWithObjects

2)NSCollectionView:
绑定→NSArrayController
控制器密钥→arrangeObjects

3)现在,要将数组中的值传递到自定义NSView,您需要在NSCollectionViewItem子类中重写以下方法:

- (void)setRepresentedObject:(id)object
{
    [super setRepresentedObject:object];

    // e.g. [self.view setMyProperty:object];
}

答案 1 :(得分:1)

您可以将“myView.myObject”绑定到NSCollectionViewItem的“representObject.property”。 因此,如果您在arrangeObject上有一个名为info的属性,则可以将对象绑定到representObject.info