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