【发布时间】:2015-05-28 00:39:10
【问题描述】:
我有 1 个视图控制器,根据单击的按钮,底部的视图在 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 数据源 必须从 tableView:cellForRowAtIndexPath 返回一个单元格:
我已经使用所有必需的方法在单独的 UITableViewController 中正确(我相信是这样)实现了数据源,所以我对为什么会收到此错误感到困惑。我唯一的想法是添加的表格视图没有使用它自己的 UITableViewController 中的方法..?非常感谢您对此事的任何帮助!
【问题讨论】:
-
尝试像
tracksTVC.tableView.dataSource = tracksTVC;tracksTVC.tableView.delegate = tracksTVC;那样强制完全分配数据源和委托。愿这有帮助 -
如果你在故事板中有它们,那么你需要从故事板中实例化它们,而不仅仅是类。因为我假设,您在情节提要和单元格中设置了它的委托和数据源。您尝试在代码中创建 tableview 的方式,您需要在 init 中设置数据源并委托和注册单元格。
-
让一张桌子工作,然后一张一张地添加其他的。
标签: ios objective-c uitableview uiviewcontroller