拥有多个具有不同内容的 NSTableView - 不显示数据

发布于 2024-08-28 12:32:12 字数 461 浏览 6 评论 0原文

我有两个 TableView(一个 SourceList 和一个 Normal TableView)。我没有使用 ArrayControllers,只是使用:

- (id)tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
            row:(NSInteger)rowIndex;

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView;

this 来显示行内容。但问题是我不仅有一个 TableView - 我有多个。所以我添加了另一个 NSObject,其中包含此代码。但内容不会显示。

我必须使用ArrayControllers吗?或者我可以用另一种方式显示第二个 TableView 的内容吗?

I've two TableViews (one SourceList and one Normal TableView). I'm not using ArrayControllers, just using:

- (id)tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
            row:(NSInteger)rowIndex;

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView;

this to display the Row Contents. But the Problem is that I have not only one TableView - I've more than one. So I have added another NSObject with this Codes inside. But the Content wont show.

Must I use ArrayControllers? Or can I show the Content of the Second TableView in another way?

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

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

发布评论

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

评论(1

所有深爱都是秘密 2024-09-04 12:32:13

您不必使用阵列控制器。事实上,在可可一生的大部分时间里,它们甚至都不存在。数据源协议工作得很好(在某些情况下甚至更好)。

当然,您可以拥有单独的控制器(每个表一个),但请注意,您会在每个数据源和委托方法(上面的源中的 aTableView)中获得对表视图的引用,因此您可以根据情况给出不同的响应表视图。这样,一个控制器就可以负责主/详细 UI 中的两个表。换句话说:

表视图:“第 3 行的 A 列是什么?”

你的控制者:“谁在问?”

关于您的数据未显示,您是否实例化了第二个控制器并将问题表的数据源连接到它?您是否要求表重新加载数据?由于您提供的信息有限,很难为您提供帮助。

You don't have to use array controllers. In fact, they didn't even exist for most of Cocoa's life. The data source protocol works just fine (even better in some cases).

You can have separate controllers (one for each table) of course, but note you get a reference to the table view in each of the data source and delegate methods (aTableView in your source above), so you can give a different response depending on the table view. This way one controller can be responsible for both tables in your master/detail UI. In other words:

Table View: "What's column A of row 3?"

Your Controller: "Who's asking?"

Regarding your data not showing, did you instantiate your second controller and connect the problem table's data source to it? Did you ask the table to -reloadData? It's hard to help you with the limited information you've given.

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