使用多个自定义单元格而不重用标识符

时间:2011-06-15 08:54:33

标签: iphone objective-c ios uitableview

我觉得这是一个真正的菜鸟问这个,但这是我的问题:

我想显示一个包含7个自定义单元格的tableView。这些细胞都不会被重复使用。这意味着用户将看到7个不同的单元格,而不是更多,而不是更少。

我在viewDidLoad方法中创建了单元格,并在listCells - 数组中添加了所有这些单元格。之后,我使用easy-mode绘制这些单元格:

UITableViewCell *cell = nil;
if (indexPath.row == 0)
{
    static NSString *MyIdentifier = @"Cell";
    cell =  (DetAlertCell *)[localTableView dequeueReusableCellWithIdentifier:nil];

    if (cell == nil) {
        [[NSBundle mainBundle] loadNibNamed:@"DetAlertCell" owner:self options:nil];
        cell = [listCells objectAtIndex:indexPath.row];
    }
}
....

但是,这不起作用。它向我展示了一个空白视图。每个单元都是使用.xib文件和.h和.m类创建的。我有什么遗失和应该做的吗?

1 个答案:

答案 0 :(得分:2)

只是不要调用[localTableView dequeueReusableCellWithIdentifier:nil]并为索引路径指定正确的单元格。

另外你说你在viewDidLoad中加载单元格,那么为什么要加载nib:

 [[NSBundle mainBundle] loadNibNamed:@"DetAlertCell" owner:self options:nil];

如果没有,他们应该已经是阵列了。 为什么要检查行是否为0然后加载行,仍然只会加载第一行。

试试这个:

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
   return [listCells objectAtIndex:indexPath.row];
}