在 NSTableView 中绑定列

发布于 2024-10-20 10:51:06 字数 608 浏览 3 评论 0原文

我有两个类:GHTableGHColumnGHTable 对象有一个 NSMutableArrayGHColumn 对象。每个 GHColumn 都有一个 name 属性 (NSString)。

我制作了一个 UML 图来使这一点更加清楚。请注意,我使用核心数据:

UML

我想绑定列将 GHTable 对象的 属性添加到 NSTableView 的列。我想将 NSTableView 的列标题绑定到相应 GHColumnname 属性。

我的问题:有没有办法通过 Cocoa Bindings 来做到这一点,如果有的话:如何实现?或者我是否需要手动实现NSTableView的数据源?

I have two classes: GHTable and GHColumn. A GHTable object has an NSMutableArray with GHColumn objects. Each GHColumn has a name property (NSString).

I have made an UML diagram to make this more clear. Note that I am not using Core Data:

UML

I want to bind the columns property of the GHTable object to the columns of an NSTableView. I want to bind the titles of the columns of the NSTableView to the name property of the corresponding GHColumn.

My question: is there a way to do this through Cocoa Bindings, and if so: how? Or do I need to manually implement the data source for the NSTableView?

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

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

发布评论

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

评论(1

近箐 2024-10-27 10:51:06

您将需要使用 NSArrayController。将其 Content Array 绑定到 GHTable 对象上的可变数组。

在 NSTableView 中,将 Content 绑定到 NSArrayController 的 arrangedObjects 控制器键。

在 NSTableView 的列中,使用模型键路径 name 将 Value 绑定到 NSArrayController 的 arrangedObjects 控制器键。

如果单击表视图时检查器窗口的标题显示为“Scroll View Bindings”,则在内容区域上再次单击它,它应该更改为“Table View Bindings”。

再次单击表的列将其选中,标题应更改为“表列绑定”。

You will need to use an NSArrayController. Bind its Content Array binding to the mutable array on your GHTable object.

In the NSTableView, bind Content to the NSArrayController's arrangedObjects contoller key.

In the NSTableView's column, bind Value to the NSArrayController's arrangedObjects controller key with the model key path name.

If the inspector window shows "Scroll View Bindings" as its title when you click the table view, click it again on the content area and it should change to "Table View Bindings".

Click again on the table's column to select it and the title should change to "Table Column Bindings".

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