Yin*_*ing 23 iphone objective-c
据我所知,UITableView将调用-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath方法来获取表视图的每个单元格.假设我的数据源是通过互联网获取的,我必须考虑延迟."停止"调用此方法的最佳方法是什么?它应该阻止应用程序中的布尔标志吗?我应该cellForRowAtIndexPath从我的申请表中再次拨打电话吗?
我不确定函数何时被调用,即UITableView"刷新"自身的频率.任何解释都会有所帮助!谢谢!
mah*_*udz 40
如果您没有数据,或者您没有其他单元格的数据,那么cellForRowAtIndex:只要您不告诉UTableView您有rowCounts或new rowCounts就不会调用.该值正在设定中numberOfRowsInSection:.
换句话说,在numberOfRowsInSection:您实际拥有该数据之前,不要报告任何新单元格,然后cellForRowAtIndexPath:不会过早调用.
当你获得额外的行数据时,然后调用reloadData以获取UITableView以询问行数然后调用cellForRowAtIndex:.
如果你已经UITableView从IB 设置了数据源和委托,那么numberOfRowsInSection当你推送到视图时它至少会用于 方法,但是如果你从a显示数据NSArray,如果数组仍然为空,它将返回计数ZERO,因此表赢了不去打其他方法.
在实践中,我是从Web服务将数据提取喂表,所以我不设立从IB的数据源和委托,而不是一旦我得到的数据和状态OK响应我设置tableview.datasource = self和tableview.delegate = self,然后调用reloadData方法来更新表.这可以确保它不会用于numberOfRowsInSection方法,因为您不需要在没有数据的情况下调用它.
| 归档时间: |
|
| 查看次数: |
22785 次 |
| 最近记录: |