初始化并加载自定义的uitableviewcell

时间:2011-03-01 11:03:11

标签: iphone objective-c xcode uitableview

我有自定义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];
}

我应该使用哪一个?为什么?

1 个答案:

答案 0 :(得分:0)

第一个示例将从应用程序包中的.xib文件加载一个单元格。每个单元格都可以处理它自己的代码,其行为很像UIViewController。当您尝试从数组加载数据时,此方法会变得复杂。在开始编码之前,您必须将要获取数据的对象传递给单元格,并且设计非常清晰。

另一种方法正常分配UITableViewCell类的空实例。该方法通常用于细胞的编程配置。你可能会在大多数地方看到这个。

祝你好运,

Aurum Aquila