cell重用的幾種方式,cell重用幾種方式
1.使用xib重用
//ios6 之後推薦大家使用的重用方式
//動態使用self獲得當前類名,來作為唯一的標示
NSString * identifier = NSStringFromClass([self class]);
UINib * nib = [UINib nibWithNibName:identifier bundle:nil];
//註冊
[tableView registerNib:nib forCellReuseIdentifier:identifier];
//先在緩衝池中去,如果緩衝池沒有可重用的cell,那麼根據前面註冊的nib建立一個cell對象給你返回回來
GPSubjectCell * cell = [tableView dequeueReusableCellWithIdentifier:identifier];
return cell;
2,純程式碼
//保證標示的唯一性,使用類名是一種非常好的選擇
NSString * identifier = @"GPSubjectCell";
//1.先去緩衝池中找是否有可以重用的
GPSubjectCell * cell = [tableView dequeueReusableCellWithIdentifier:identifier];
//2.如果沒有可以重用的那麼自己建立一個出來
if(cell == nil)
{
cell = [[self alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
return cell;
3.
//使用註冊的機制,實現純程式碼cell類的重用
NSString * className = NSStringFromClass([self class]);
[tableView registerClass:[self class] forCellReuseIdentifier:className];
return [tableView dequeueReusableCellWithIdentifier:className];
4.使用storyboard 時, (但必須給cell一個Identifier)
return [collectionView dequeueReusableCellWithReuseIdentifier:@"bookCell" forIndexPath:indexPath];