请帮忙找出 NSCollectionView 的绑定

发布于 2024-10-15 07:52:18 字数 396 浏览 7 评论 0原文

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

MyView 有一个 MyObject 类型的属性。

我的主 NSWindowController 有 IBOutlets 到 NSViewCollection 和 NSArrayController。

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

我希望将数组中的值绑定到“myView.myObject”路径。

我不知道如何在 IB 中进行设置。我不明白我应该使用哪些键。我的数组是否应该是 NSDictionary 对象的集合,以便我可以有一个名为“myObject”的键而不是直接存储值?

我对绑定非常陌生,所以这有点困难。请帮忙。

I have a custom NSView (MyView), which is rendered by the NSViewCollectionItem.

MyView has a property of type MyObject.

My main NSWindowController has IBOutlets to NSViewCollection and NSArrayController.

NSArrayController is bound to an array of objects of type MyObject.

I'd like to have the values from the array to be bound to "myView.myObject" path.

I can't figure out how to set this up in IB. I don't understand which keys I should be using. Should my array be a collection of NSDictionary objects instead, so that I can have a key named "myObject" rather than storing the values directly?

I'm very new to bindings, so it's a bit of a struggle. Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

水波映月 2024-10-22 07:52:18

我整理了一下。它应该是这样的:

1)NSArrayController:

绑定到 → MyWindowController(文件所有者)

模型键路径 → myArrayWithObjects

2) NSCollectionView:

绑定到 → NSArrayController

Controller Key →arrangedObjects

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

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

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

I sorted it out. It should go like this:

1) NSArrayController:

Bind to → MyWindowController (File's Owner)

Model Key Path → myArrayWithObjects

2) NSCollectionView:

Bind to → NSArrayController

Controller Key → arrangedObjects

3) Now, to get that value from the array into the custom NSView, you'd need to override the following method in your NSCollectionViewItem subclass:

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

    // e.g. [self.view setMyProperty:object];
}
横笛休吹塞上声 2024-10-22 07:52:18

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

You could bind "myView.myObject" to "representedObject.property" of NSCollectionViewItem.
So if you had a property named info on your arrangedObject, you could bind an object to representedObject.info

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文