请帮助我理解为什么表视图在视图控制器启动时重新加载。我通过故事板和数据源,委托设置表的插座。我没有调用tableView reloadData方法。 所以当视图控制器启动'..numberOfRowsInSection'时,其他表视图委托调用方法。
答案 0 :(得分:0)
UITableView会覆盖UIView的layoutSubviews方法 只有在创建UITableView或的新实例时才调用reloadData 分配新数据源时。重新加载表视图会清除 当前状态,包括当前选择。但是,如果你 显式调用reloadData,它清除此状态和任何后续状态 对layoutSubviews的直接或间接调用不会触发重新加载。
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableView_Class/
如果你真的不需要重新加载,可以将tableView创建为一个惰性变量,并在需要时将其添加到一个programmaticaly视图中。