iPhone:UITableVIew 的一些理解

UITableVIew 用的不少,其重用机制还是有点迷惑。之前有用过SDWebImage和ASIHttpRequest,在于UITableView结合的时候总是出项一些问题。今天在看NSOperation文档的时候,看了苹果官方的demo:LazyTableImages,其中对于UITableView的操作让我豁然开朗,原来是我想的太复杂了....

结合该Demo,做个小总结:

1、在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;方法中先判断此时的UITableVIew是否被拖动或者处于惯性滑动的状态(tableView.dragging和tableView.decelerating:Bool类型),如果不是,则开启下载线程。由于重用机制的存在,只有屏幕上的cell才会被开启线程。(之前很痛恨这个重用机制,还专门写了篇博客来总结如何干掉这个机制,现在回想起来觉得自己too simple too naive 了尴尬


2、UITableView可以响应UIScrollView 的delegate,因为UITableView中就有一个ScrollView 。(得先声明:@interface RootViewController : UITableViewController <UIScrollViewDelegate>),

#pragma mark - (UIScrollViewDelegate)

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    
}

3、[self.tableView indexPathsForVisibleRows]; 这个参数也很有用


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值