Iphone UITableView钩子方法的调用顺序是什么?
以下方法对UITableView的调用顺序是什么Iphone UITableView钩子方法的调用顺序是什么?,iphone,cocoa-touch,ios,uitableview,Iphone,Cocoa Touch,Ios,Uitableview,以下方法对UITableView的调用顺序是什么 numberOfSectionsInTableView numberOfRowsInSection cellforrowatinexpath rowAtIndexPath高度 didChangeObject(NSFetchedResultsController) 请包括我可能遗漏的任何其他相关的钩子方法。我会谨慎地考虑调用这些方法的顺序。这些方法有非常具体和完整的目的。即使这些方法现在是按特定顺序调用的,但这并不意味着它们总是按该顺序调用,因
numberOfSectionsInTableView
numberOfRowsInSection
cellforrowatinexpath
rowAtIndexPath高度
(didChangeObject
)NSFetchedResultsController
请包括我可能遗漏的任何其他相关的钩子方法。我会谨慎地考虑调用这些方法的顺序。这些方法有非常具体和完整的目的。即使这些方法现在是按特定顺序调用的,但这并不意味着它们总是按该顺序调用,因此在代码中假设它们的调用顺序是危险的。例如,并非所有行都调用cellForRowAtIndexPath。它只对可见行调用,然后在用户滚动到其他行时调用这些行。旧的行在离开屏幕时也会被销毁,如果用户向后滚动,它会再次请求单元格
一句话,由于苹果的文档中没有指定顺序,您不能安全地假设它们总是以相同的顺序调用,在您的实现中进行这样的假设通常不是一个好主意。我最终使用了
NSLog
语句来解决这个问题,但不幸的是,没有记录它。因为,我意识到调用这些函数的顺序并不重要
在阅读有关的文章时,我学会了在表视图中插入行之前更新数据