具有多个数据源的UITableView

tee*_*ink 0 objective-c uitableview

我有一个需要使用2的ViewController UITableViews.
1总是显示,而另一个将在您单击视图上的按钮后显示为弹出窗口.

通常我将委托设置为datasource文件所有者.但是,由于其中UITableViews一个是弹出窗口,我不知道如何最好地解决这个问题.

例如,我该如何解决这个问题 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

请指教.

Tim*_*tis 7

您应该在控制器中声明的两个表视图都有实例变量:

@interface MyViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
{ 
  UITableView *mainTableView;
  UITableView *popupTableView;
}
Run Code Online (Sandbox Code Playgroud)

在每个数据源或委托方法中,您可以检查调用者传递的表视图:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
  if(tableView == mainTableView)
  {
    // Code to create and return a main table view cell
  }
  else if(tableView == popupTableView)
  {
    // Code to create and return a popup table view cell
  }
}
Run Code Online (Sandbox Code Playgroud)