iphone - 在不重复使用标识符的情况下使用多个自定义单元格

标签 iphone objective-c ios uitableview

我感觉自己像个菜鸟问这个问题,但这是我的问题:

我想显示一个带有 7 个自定义单元格的 tableView。这些细胞都没有被重复使用。这意味着用户将看到 7 个不同的单元格,不多也不少。

我在 viewDidLoad 方法中创建了单元格,并将所有这些单元格添加到 listCells 数组中。之后,我使用简易模式绘制这些单元格:

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];
    }
}
....

但是,这是行不通的。它向我展示了一个空白 View 。每个单元格都是使用 .xib 文件以及 .h 和 .m 类创建的。有什么我想念但应该做的吗?

最佳答案

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

你还说你在viewDidLoad中加载cell,那你为什么要加载nib:

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

如果不是,它们应该已经是数组了。 为什么要检查行是否为 0 然后加载行,仍然只会加载第一行。

试试这个:

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

关于iphone - 在不重复使用标识符的情况下使用多个自定义单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6355257/

相关文章:

objective-c - 如何在我的 View Controller 中更新 UITextView?

ios - 访问单例中的非可选属性时出现无法解释的崩溃

iphone - 如何将 UUID 存储为 int

ios - MPMoviePlayerController:停止 MPMoviePlayerController 时没有声音

iphone - iOS 5 中的协议(protocol)和分配属性

iphone - 如何清空WebView的缓存?

objective-c - EXC_BAD_ACCESS 在初始化时在自定义类上设置属性时?

ios - iPhone 任务切换器图像为黑色

ios - 单例不返回任何图像

iphone - 即使在iOS7中重启设备后,仍会调用后台模式位置和提取吗?