在单个UIViewController中交换UITableViews

时间:2015-05-27 13:24:40

标签: ios objective-c uitableview uiviewcontroller

我有一个视图控制器,根据单击的按钮,底部的视图在4个不同的表视图之间交换。这些表视图位于故事板中各自独立的UITableViewController中。我像这样添加tableViews:

Tracks_TVC *tracksTVC = [[Tracks_TVC alloc] init];
tracksTVC.view.frame = _postView.frame;
tracksTVC.view.tag = kTagPostView;
[self.view addSubview:tracksTVC.view];

运行代码时出现此错误消息:

  

NSInternalInconsistencyException',原因:'UITableView dataSource   必须从tableView:cellForRowAtIndexPath:

返回一个单元格

我已经在单独的UITableViewController中使用所有必需的方法正确地实现了数据源,所以我很困惑为什么我收到这个错误。我唯一的想法是添加的表视图没有使用它自己的UITableViewController中的方法..?任何有关此事的帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您应该创建TableViewController的属性,例如 -

@property(nonatomic, strong) Tracks_TVC *tracksTVC;

现在在viewDidLoad中初始化相同的 -

-(void)viewDidLoad
{
    [super viewDidLoad];

   self.tracksTVC = [[Tracks_TVC alloc] init];

   self.tracksTVC.view.frame = _postView.frame;

   self.tracksTVC.view.tag = kTagPostView;

   [self.view addSubview:self.tracksTVC.view];

}

注意:还要确保在数据源中返回单元格。