如何使用具有多个单元格类型的新iOS 6 registerClass UITableView方法

Wes*_*ley 1 iphone uitableview ios

我正在使用UITableView的新registerClass方法遇到问题.我注册了我的细胞,然后当我想制作一个细胞时,我这样做:

static NSString *imageIdentifier = @"image";
CustomCell *cell = [self.tableView dequeueReusableCellWithIdentifier:imageIdentifier];

if (!cell) {
    cell = [[CustomCell alloc] initWithQuestion:self.question reuseIdentifier:imageIdentifier];
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
}
Run Code Online (Sandbox Code Playgroud)

这可能不是现代的做法,但它是我以前做过的.问题是因为如果队列中没有一个新的registerClass方法你创建一个新的单元格,if(!aCell)检查失败,并且单元格没有正确构建.

我没有使用这种新方法正确出列吗?

小智 5

1)在prepareForReuseUITableViewCell子类的方法中设置单元格(在您的情况下为selectionStyle).

2)dequeueReusableCellWithIdentifier:tableView:cellForRowAtIndexPath:委托方法中调用后设置单元格的内容.

dequeueReusableCellWithIdentifier:如果您registerClass:使用相应的标识符调用,将始终返回一个单元格.