一个简单的tableviewController,为空。可以从按钮启动的模态。表视图的数据源中没有数据,也没有显示任何行。
我打开模态,用它来添加项目,然后返回到tableview控制器。 tableview自动更新,并显示新行。
我添加了第二项。表格视图不会自动更新。
我可以通过在numberOfSectionsInTableView中记录,即使我去添加第一项并取消,tableview也会刷新 - 它要求显示的部分,行和单元格的数量(如果有的话)。但如果表中有一个预先存在的行,则不行。
我已经搜索了我的代码,但找不到任何可能导致tableview知道何时添加第一个项目但之后没有任何内容的内容。
有什么想法吗?
编辑 - 我进一步缩小了我的问题,因此很快就会关闭此问题,并在Why does an empty tableView check the number of sections but a non-empty one does not?发布更具体的问题
答案 0 :(得分:1)
来自Apple的documentation:
UITableView会覆盖UIView的layoutSubviews方法 只有在创建UITableView或的新实例时才调用reloadData 分配新数据源时。
也许你在显示模态后设置表视图的数据源?因此,第二次数据源不会更改,并且tableView不会更新。
另一个键(我不确定)可能是第一次显示模态。模态的-addSubview方法导致-layoutSubviews。