0

我有两个TableViews(一个SourceList和一个NormalViewView)。我没有使用ArrayControllers,只是使用:有不止一个NSTableView与不同的内容 - 不显示数据

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

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

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

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

回答

0

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

当然你可以有单独的控制器(每个表有一个控制器),但是请注意你可以在每个数据源和委托方法(上面的源代码中的aTableView)中获得对表视图的引用,所以你可以给出根据表视图的不同响应。这样,一个控制器可以负责主/明细用户界面中的两个表格。换句话说:

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

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

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

+0

首先感谢您的答复 - 这个想法是在我心中。但我无法开发它:S是我的第二个控制器是我的第二个TableView的数据源,但是我没有做一个reloadData – ahmet2106 2010-04-07 17:46:29

+0

调用-reloadData是必要的,以便在使用时使表视图显示其数据。协议。 – 2010-04-07 17:54:40