Iphone 初始化和加载自定义uitableviewcell

Iphone 初始化和加载自定义uitableviewcell,iphone,objective-c,xcode,uitableview,Iphone,Objective C,Xcode,Uitableview,我有自定义uitableviewcell:ScrollViewCell 我想知道以下代码之间的区别是什么 static NSString *CellIdentifier = @"ScrollViewCell"; ScrollViewCell *cell = (ScrollViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { //***** WHAT IS TH

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

我应该使用哪一个以及原因?

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

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

祝你好运

阿奎拉金