iOS 关于注册cell时要注意的问题

2016.8.19

如果是纯代码定义的cell

if(indexPath.row==6) {

qrCell = [tableViewdequeueReusableCellWithIdentifier:@"schoolQRCodeCell"];

if(qrCell ==nil) {

qrCell = [[QRCodeCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:@"schoolQRCodeCell"];

qrCell.delegate=self;

}

}

cellId要一样,如果不同的话,cell就无法重用

如果同一个控制器的不同TableView或是不同行需要注册同一个cell,cellId要设为不一样,如在第4和第6行都需要用这个cell。不然在第4行要增加图片或删除图片,最终效果可能会在第6行也实现,虽然没有操作第6行的cell。因为注册的cell的id相同,系统就会分不清楚当前操作的cell是哪一行的。如果是xib创建的,现在还没出现问题,所以也没想出问题了应该怎么解决- -。

if(indexPath.row==4) {

qrCell = [tableViewdequeueReusableCellWithIdentifier:@"otherQRCodeCell"];

if(qrCell ==nil) {

qrCell = [[QRCodeCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:@"otherQRCodeCell"];

qrCell.delegate=self;

}

}

你可能感兴趣的:(iOS 关于注册cell时要注意的问题)