我有一个自定义的NSView(MyView),由NSViewCollectionItem呈现。
MyView具有MyObject类型的属性。
我的主要NSWindowController有IBOutlets到NSViewCollection和NSArrayController。
NSArrayController绑定到MyObject类型的对象数组。
我想让数组中的值绑定到“myView.myObject”路径。
我无法弄清楚如何在IB中设置它。我不明白我应该使用哪些键。我的数组是否应该是NSDictionary对象的集合,以便我可以使用名为“myObject”的键而不是直接存储值?
我对绑定很新,所以这有点挣扎。请帮忙。
答案 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