Iphone SDK - 自定义UITableViewCell Nib的麻烦

时间:2010-08-06 06:49:39

标签: iphone cocoa-touch uikit nib

我创建了自己的笔尖,并为它创建了类。我在界面构建器中将所有控件连接到类。当我运行它运行正常。唯一的问题是,当我踩到tableview时它会崩溃。任何想法错误可能是什么?我一直试图解决这个问题一段时间无济于事。它提供了一个EXC_BAD_ACCESS,我不知道如何调试。

int cellType = [streamDataProvider cellTypeForIndex:indexPath.row];

if(cellType == HOP_GRAFITTI){
    static NSString *CellIdentifier = @"HopGrafittiStreamCell";
    HopGrafittiStreamCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"HopGrafittiStreamCell" owner:self options:nil];
        cell = (HopGrafittiStreamCell *)[nib objectAtIndex:0];
        [cell retain];
    }

    [cell.username setText: [streamDataProvider userNameForIndex:indexPath.row]];
    [cell.venuename setText: [streamDataProvider venueNameForIndex:indexPath.row]];        
    [cell.grafittiText setText: [streamDataProvider grafittiForIndex:indexPath.row]];                
    return cell;
}

1 个答案:

答案 0 :(得分:0)

如果您再次需要它,这是通过设置符号断点来调试EXC_BAD_ACCESS错误的有用方法。如果在调试模式下运行,调试器将在EXC_BAD_ACCESS处断开,让您有机会查看堆栈跟踪并找出导致问题的原因:

  • 打开调试窗口
  • 打开右上角的断点窗口(显示断点
  • 双击显示“双击符号
  • 的行
  • 输入 objc_exception_throw 并按返回

您可以将其永久保留在项目中,因为每次遇到EXC_BAD_ACCESS错误时它总是有用。

希望这有帮助