iOS基础

UITableView的重用机制

2017-08-31  本文已影响33人  biyuhuaping
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *indentifier =@"Cell";
    UITableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:indentifier];
    if (!cell) {
//        cell = [[NSBundle mainBundle]loadNibNamed:@"UCFBackMoneyCell" owner:self options:nil][0];//用xib创建的cell
        cell = [[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:indentifier];
    }
    return cell;
}
  1. UITableView内部会有两个NSMutableArray:visiableCells内保存当前显示的cells,reusableTableCells保存可重用的cells。

  2. TableView显示之初,reusableTableCells为空,那么[tableView dequeueReusableCellWithIdentifier:indentifier]返回nil。

  3. 开始的cell都是通过[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:indentifier] 来创建,而且cellForRowAtIndexPath只是调用最大显示cell数的次数。 比如:有100条数据,iPhone一屏最多显示10个cell。

  4. 程序最开始显示TableView的情况是:

上一篇 下一篇

猜你喜欢

热点阅读