我正在创建一个自定义UIView
,其数据源与UITableView
非常相似。应该何时首次要求此数据源获取数据以及我UIView
子类的哪种方法?
现在,当我在视图的属性中设置数据源时,我会查询数据源。
我认为表视图的做法不同,因为如果我在storyboard / xib中提供它的数据源,我在视图控制器的viewDidLoad
方法中创建数据(到那时数据源已经是set)然后仍然会在不调用reloadData
的情况下查询数据源。表视图何时重新加载它的数据而不明确要求它这样做?
答案 0 :(得分:2)
我有预感,但为了获得权威答案,我使用了调试器。我在-numberOfSectionsInTableView:
和-tableView:numberOfRowsInSection:
设置了一个断点。
当然,它们来自-[UITableView reloadData]
,但也来自-[UITableView layoutSubviews]
。在-[UITableViewController tableView]
的特殊情况下,-[UITableViewController viewWillAppear:]
直接调用-numberOfSectionsInTableView:
(iOS 6.1模拟器)。