【问题标题】:Have more than one NSTableView with different Content - not displays data拥有多个不同内容的 NSTableView - 不显示数据
【发布时间】:2010-04-08 01:07:18
【问题描述】:

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

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

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

这显示行内容。但问题是我不仅有一个 TableView - 我还有不止一个。所以我在里面添加了另一个带有这个代码的 NSObject。但内容不会显示。

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

【问题讨论】:

    标签: objective-c cocoa nstableview nsarraycontroller nstablecolumn


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 首先感谢您的回答-这个想法是我的想法。但我无法开发它:S 是的,我的第二个控制器是我的 Second TableView 的 DataSource,但不,我不做 reloadData
    • 在使用协议时需要调用-reloadData来让table view显示它的数据。
    猜你喜欢
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2014-01-04
    • 1970-01-01
    相关资源
    最近更新 更多