我创建了一个表视图控制器,并从Xcode中选择内容下拉为静态单元格。我把按钮放在那些单元格里,但是当我跑步时,我得到一张空桌子。我没有在TableViewController类中输入任何代码,因为我认为这不是必需的。
如何解决这个问题?
这是它在Xcode中的样子,然后在模拟器中运行时:
答案 0 :(得分:5)
你可能会错过一些东西:
1)检查您的tableView是否在代码中设置了名为on的类。您可以在tableView的“属性”检查器中找到输入字段以键入类的名称。
2)检查是否实现了符合UITableViewDelegate和UITableViewDataSource协议的方法。
func numberOfSections(in tableView: UITableView) -> Int {
// I see you only have 1 section now
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//you should return appropriate number
return 3
}
3)检查您的表格是否从故事板正确连接到您的UIViewController =>
如果你的tableView在UIViewController中,检查你是否在控制器中为tableView设置了委托和数据源(CTRL从表格拖动到FileOwner - 故事板场景框架中的圆形黄色图标。)
答案 1 :(得分:1)
使用静态单元格,无需实现numberOfSections和numberOfRowsInSection。默认情况下,在运行时,您将获得设计器中实现的静态单元格。 但是,如果您确实实现了这些方法,则错误地返回0:运行时未显示任何单元格。
答案 2 :(得分:0)
按照上面的答案:
1)确保将表视图同时作为数据源和委托。
2)确保将这两行代码修改到表中。默认值为返回0(一个空表),因此您需要相应地对其进行修改。您还可以选择将它们完全注释掉(我做了什么)。
func numberOfSections(in tableView: UITableView) -> Int {
// I see you only have 1 section now
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//you should return appropriate number
return 3
}