我正在做一个自定义UIView,它的数据源很像UITableView. 什么时候应该第一次向这个数据源询问数据,在我的UIView子类的哪个方法中?
现在,当我在视图的属性中设置数据源时,我会查询它。
我认为表格视图的做法不同,因为如果我在故事板/xib 中提供它的数据源,并且我在viewDidLoad视图控制器的方法中创建数据(到那时数据源已经设置),那么数据源仍然是不打电话询问reloadData。表视图何时重新加载它的数据而不明确要求它这样做?
我有预感,但为了得到权威的答案,我使用了调试器。-numberOfSectionsInTableView:我在and中设置了一个断点-tableView:numberOfRowsInSection:。
当然,它们被称为 from -[UITableView reloadData],但也来自-[UITableView layoutSubviews]。在特殊情况下-[UITableViewController tableView],直接-[UITableViewController viewWillAppear:]调用-numberOfSectionsInTableView:(iOS 6.1 模拟器)。