【问题标题】:UITableView reloads on show view controllerUITableView 在显示视图控制器上重新加载
【发布时间】:2016-04-19 16:46:57
【问题描述】:

请帮助我理解为什么表视图会在视图控制器启动时重新加载。我通过情节提要和数据源、委托为表格设置了出口。我没有调用 tableView reloadData 方法。 所以当视图控制器启动 '..numberOfRowsInSection' 和其他表视图委托方法调用时。

【问题讨论】:

  • 当方法调用 awakeFromNib() 时,你可以重写这个方法来预设任何东西
  • 如何显示视图控制器的视图?您是否提供相同的参考?还是每次显示时都创建一个新的 viewcontroller 对象?

标签: ios iphone uitableview


【解决方案1】:

正如 Apple 文档所说:

UITableView 覆盖 UIView 的 layoutSubviews 方法,以便它 仅当您创建 UITableView 的新实例时调用 reloadData 或 当您分配新的数据源时。重新加载表格视图清除 当前状态,包括当前选择。但是,如果你 显式调用 reloadData,它会清除此状态和任何后续 直接或间接调用 layoutSubviews 不会触发重新加载。

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableView_Class/

如果您确实不需要重新加载它,请将您的 tableView 创建为惰性变量,并在需要时以编程方式将其添加到视图中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-11
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多