我有自定义uitableviewcell:ScrollViewCell
我想知道以下代码之间的区别
static NSString *CellIdentifier = @"ScrollViewCell";
ScrollViewCell *cell = (ScrollViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
//***** WHAT IS THE DIFFERENCE BETWEEN THIS CODE AND..
NSArray *xibObj = [[NSBundle mainBundle] loadNibNamed:@"ScrollViewCell" owner:nil options:nil];
for(id currentObj in xibObj){
if ([currentObj isKindOfClass:[ScrollViewCell class]]) {
cell = (ScrollViewCell *) currentObj;
}
}
//***** ..THIS CODE
cell = [[ScrollViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
我应该使用哪一个?为什么?
答案 0 :(得分:0)
第一个示例将从应用程序包中的.xib
文件加载一个单元格。每个单元格都可以处理它自己的代码,其行为很像UIViewController
。当您尝试从数组加载数据时,此方法会变得复杂。在开始编码之前,您必须将要获取数据的对象传递给单元格,并且设计非常清晰。
另一种方法正常分配UITableViewCell
类的空实例。该方法通常用于细胞的编程配置。你可能会在大多数地方看到这个。
Aurum Aquila