背景:
在我的 viewDidLoad 中,我正在将测试日历数据(通过 EventKit)加载到 iPhone。我注意到,当表格视图第一次加载时,它看不到这些数据。
当我查看日志消息的序列时,我发现它是这样的:
在这里记录:
[AppointmentListController viewDidLoad] Starting
[AppointmentListController populateTestData] Populating the test data now
[AppointmentListController tableView:numberOfRowsInSection:] Number of rows = 0
[AppointmentListController viewDidLoad] Loading the existing calendar events
[AppointmentListController viewDidLoad] Ending
问题)
为什么“numberOrRowsInSection”在“viewDidLoad”中途被调用?我问这个,因为这就是我所看到的(这是应该发生的事情吗?)。
如果这是正常的,您不能确定 viewDidLoad 将在 numberOrRowsInSection 之前完成,那么这意味着您需要在“viewDidLoad”方法的末尾使用“[self.tableView reloadData]”来确保它确实更新?