关于这个主题有很多问题和答案,但我找不到适合这种情况的问题和答案。
该应用程序已经投入生产大约 3 年,所以我相信有问题的 TableView 和所有其他 TableView 已经正确连接。我正在添加一项新功能,但遇到了一些我没有预料到的事情。
情况是这样的:
- 用户点击标签 1,在表格 View 中显示项目列表。
- 用户点击标签 2 并导入更多项目。
- 通知被触发。
- 选项卡 1 上的 View Controller 上的观察者收到通知并调用其选择器。
- 选择器更新模型并调用
reloadData:
。 numberOfRowsInSection:
被调用并返回正确的行数。
到目前为止,一切都按照我的预期进行。但这就是它停止的地方。 numberOfRowsInSection:
之后没有其他内容。 cellForRowAtIndexPath:
未被调用。
显然,我正在重新加载的 TableView 是不可见的。它在另一个选项卡上。
这种行为是否是一种优化,其中 reloadData
根本不执行,因为表不可见?谁能证实这一点?
最佳答案
这对我来说非常有意义,除了您的 TableView 调用 numberOfRowsInSection: 的部分。当 VC 不可见时,我不希望出现这种情况。
如果 TableView 不在当前 View 层次结构中,它将不会绘制。
关于ios - TableView 不可见时未调用 cellForRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28788944/