如何在 xcode 中设置 UITableViewCell 标识符?

Posted

技术标签:

【中文标题】如何在 xcode 中设置 UITableViewCell 标识符?【英文标题】:How to set UITableViewCell identifier in xcode? 【发布时间】:2011-04-05 07:16:20 【问题描述】:

当我在项目的视图控制器中选择 UITableView 中的单元格时,随机发生崩溃。

我认为问题是由我尝试重复使用的单元格引起的。

这里是代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

        [self reinitializeStrArray];

        static NSString *CellIdentifier = @"cell";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) 
            cell = [[[UITableViewCell alloc] 
                     initWithStyle:UITableViewCellStyleDefault 
                     reuseIdentifier:CellIdentifier] autorelease];
        

        cell.textLabel.text = [strArray objectAtIndex:indexPath.row];

        return cell;




- (void)addStrTableToSubView
    strTable = [[UITableView alloc] initWithFrame:CGRectMake(20, 110, 280, 285)];
    [strTable setDelegate:self];
    [strTable setDataSource:self];

    [self.view addSubview:strTable];

    UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(20, 83, 280, 28)] autorelease];
    UIColor *myColor = [UIColor colorWithRed:(215 / 255.0) green:(145 / 255.0) blue:(0.0 / 255.0) alpha: 1];
    label.backgroundColor = myColor;

    label.font = [UIFont boldSystemFontOfSize:24];
    label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.8];
    label.textAlignment = UITextAlignmentCenter;
    label.textColor = [UIColor whiteColor];
    label.text = [@"strings" capitalizedString];
    [self.view  addSubview:label];

    [strTable selectRowAtIndexPath:scrollStrIndexPath animated:YES scrollPosition:UITableViewScrollPositionTop];

我在 XCode 中创建我的表。因此,IB 中没有具有标识符的 UITableViewCell 对象。

是否可以在创建表格时将其添加到代码中? 还是其他地方有问题?

谢谢

【问题讨论】:

通常该错误会提示实际问题发生的位置。你能看出它是哪条线吗? 我刚刚将我的问题编辑为:随机崩溃:] 问题不是重复友好,有时当我构建和运行时我得到一个 EXC_BAD_ACCESS,当我尝试调试它时,我无法重现这个.. 有时当我来回时程序崩溃在我的标签栏的视图控制器之间,当我选择一个单元格时它会崩溃,但这也不是很稳定的错误 从你所说的几乎可以肯定这是由于内存管理不正确造成的。更准确地说,您可能正在对自动释放的对象进行释放。使用 NSZombieEnabled 环境变量:您将找到导致问题的对象。 【参考方案1】:

当您收到 EXC_BAD_ACCESS 时,通常意味着内存管理不正确(即对象未正确释放)。我的建议是启用 NSZombieEnabled 环境变量:它将为您提供有关导致问题的对象的更多信息。更多信息here。

【讨论】:

以上是关于如何在 xcode 中设置 UITableViewCell 标识符?的主要内容,如果未能解决你的问题,请参考以下文章

更新到 Xcode7-beta4 后,无法在属性检查器中设置 UITableView 的 backgroundColor 属性

如何在 UITableView 中设置单元格高度?

如何在静态 UITableView 中设置 detailTextLabel.text?

我们如何在 uitableview 单元格中设置标签约束?

如何在 UITableView 中设置 UILabel 的动作

如何在 .xib 文件上创建的 UIViewController 中设置 UITableView