ios - TableView 不可见时未调用 cellForRowAtIndexPath

标签 ios objective-c uitableview

关于这个主题有很多问题和答案,但我找不到适合这种情况的问题和答案。

该应用程序已经投入生产大约 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/

相关文章:

ios - 如何从 Core Data 中的持久存储中删除所有对象?

ios - 创建拉伸(stretch)的半圆

ios - 在 UIImage View 中清晰显示 pdf 生成的缩略图

ios - AFNetworking for iOS Objective-C 下一次更新

ios - 如何在 tableview Swift 中自定义排序两个不同的部分

iphone - 如何从 iPhone 应用程序中的 URL 读取 .rtf 文件

objective-c - 使用 SMJobBless 时防止授权弹出窗口

ios - 我可以从实现文件创建 .xib 吗?

arrays - UITableView numberOfRowsInSection - 显示完成/未完成的任务

ios - UITableView 与 UIWebView