ios - UITableView reloadData 最佳实践

标签 ios uitableview

在 UITableView 上调用 [reloadData] 的最佳时间是什么时候? viewDidAppear 还是 viewWillAppear?如果一个 View 被卸载,底层的tableview也会被卸载吗?

我问的原因是由于我看到的一些行为。假设一个 View 被要求重新加载其数据源,但在完成之前被释放。一个场景是使用 UITabBarController 并导航到与选择的 ViewController 不同的 View 。所以发生的事情是 viewWillAppear 被调用,但 viewDidAppear 没有(因为我导航离开了)。

结果,ViewController 被释放(连同它的模型数据),但是如果我在 viewWillAppear 中调用 reloadData,则会调用“cellForRow”和“numberOfRows”方法,这会导致“deallocated instance”错误。那有意义吗?如果模型可以在任何时候请求显示 View 时更改,您通常会输入检查 nil 的代码吗?

最佳答案

加载 View 后,我将加载表,它允许在弄乱它们之前创建所有 UIObject。不确定,但我相信该表会自动与 super View 一起卸载。

看看这个问题>>>
Objective C - Correct way to empty and reload UITableViewController with NSMutableArray

关于ios - UITableView reloadData 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9708893/

相关文章:

ios - 添加附件后,自定义 UITableViewCell 的大小不正确

ios - Xcode 7.3 无法同时为 UIView/UITableViewCell 创建 xib

ios - 具有两个不同自定义单元格的 UITableview 在滚动时重叠

ios - 是批量更新/删除/等。 OneDrive 的 iOS(或任何)SDK 可能吗?

ios - POST请求响应?

ios - 在 iPad 上不调用 UITextView didEndEditing

javascript - Cookies 在使用 PHONEGAP 的 IPhone IOS 和 ANDROID 上工作吗?

ios - Swift TableViewCell xib 没有约束

ios - 在 Swift 中测试 NSString 是否为数字的扩展

ios - 显示键盘时,Admob 广告不会出现在 UITableView 的页脚中