我一直在阅读tutorial,"选项2:原型单元" 我对所有步骤都表示赞同,但是,以下代码给出了一个错误:
@interface MTViewController : UITableViewController
@end
错误信息是:
实例化的视图控制器,带有标识符" UIViewController-BYZ-38-t0r"来自storyboard" Main",但没有获得UITableView。'
以下是我尝试过的内容 - 我将UITableViewController
更改为UIViewController
,错误消失了。但是,表格视图仍然是空白的。你能告诉我为什么会这样吗?
答案 0 :(得分:44)
答案 1 :(得分:16)
尝试将超类更改为UIViewController或将故事板中的控制器更改为TableView Controller
function hide(id) {
$("#" + id).hide();
}
$(function(){
hide("test");
});
答案 2 :(得分:6)
将表视图控制器的新实例拖到故事板中,将您在先前控制器中创建的单元格复制到新控制台中。
发生此错误可能是因为您使用了XCode创建的默认UIViewController,而不是UITableViewController。
答案 3 :(得分:4)
我遇到了与你完全相同的问题。 您可能在故事板中使用UIViewController而不是UITableViewController。
注意: 仅在故事板中继承自定义UITableViewController是不够的。你会看到差异: difference between UIViewController and UITableViewController
所以你必须从库中拖出一个UITableViewController,然后将所有东西(单元格)移动到它。如果损坏,请不要忘记检查绑定和自动布局。
当然你不能将tableview移动到UIViewController的根目录,它只是不能那样工作。 =)
答案 4 :(得分:3)
我也遇到过这个问题。我创建了原始的UIViewController
,然后我决定使用UITableViewController
。问题是我忘了在新控制器上设置故事板ID,并将其更改为旧控制器上的其他内容,否则您将从故事板中实例化旧控制器,并且会出现此问题。
答案 5 :(得分:2)
实际上,您使用的是UIViewController而不是UITableViewController。删除默认的视图控制器,然后将新的TableViewController拖到情节提要中。因为您的ViewController没有TableView,但它正在尝试加载单元格。
简单的解决方案是:删除ViewController并添加TableViewController
然后,您必须将其类名称更改为 MTViewController 或您的类名称
答案 6 :(得分:2)
在情节提要中,只需将ViewController的类更改为新的类名,即MTViewController
-image of steps
答案 7 :(得分:0)
确保dataSource设置为self。
答案 8 :(得分:-2)
你必须继承 UIViewController 而不是 UITableViewController
//这是你应该怎么做的
@interface MTViewController : UIViewController
@end