一个文件中有两个UITableView

时间:2010-12-18 08:45:09

标签: iphone objective-c ipad uitableview

是否可以使用相同的控制器文件使用两个UITableView?如果是这样,你如何区分这两者?如果没有,那么你将如何控制它们呢?

4 个答案:

答案 0 :(得分:2)

肯定是的。为每个tableview创建一个实例变量。

表视图委托方法包括一个指向表视图的指针,在方法中调用它们执行类似的操作,

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    if(tableView != [self tableView1]){
      //do stuff
    }
    //handle tableView2
    else{

    }

答案 1 :(得分:0)

是的,这是可能的。

由于UITableViewDelegate和UITableViewDataSource接口的方法签名,可以区分。如果查看任一接口,您会注意到它们都传递了对调用该方法的UITableView实例的引用...

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

查看UITableViewDelegateUITableViewDataSource API文档了解详情。

答案 2 :(得分:0)

是的,正如其他海报所示,这是可能的。
但是还有另一种方法,每个TableView都有自己的控制器。这些控制器在另一个UIViewController中实例化。这种耦合较少,因此重复使用能力更强。用于两个UIViewController使用委托之间的通信 Have a look on my sample code.

答案 3 :(得分:0)

为UITableViews使用不同的标签。