是否可以使用相同的控制器文件使用两个UITableView?如果是这样,你如何区分这两者?如果没有,那么你将如何控制它们呢?
答案 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
查看UITableViewDelegate和UITableViewDataSource API文档了解详情。
答案 2 :(得分:0)
是的,正如其他海报所示,这是可能的。
但是还有另一种方法,每个TableView都有自己的控制器。这些控制器在另一个UIViewController中实例化。这种耦合较少,因此重复使用能力更强。用于两个UIViewController使用委托之间的通信
Have a look on my sample code.
答案 3 :(得分:0)
为UITableViews使用不同的标签。