0

我已经与许多其他人一起看到了这个问题,浏览了所有主题,但我似乎无法找到解决方案。

所以我有一个普通的表格视图,其中一个单元格链接到一个 .xib 文件,在第一次启动时一切看起来都很正常,但是一旦我开始滚动应用程序立即崩溃。

通过启用僵尸对象,我遇到了这个错误:

2012-05-03 16:18:13.008 coop_dev[27547:f803] * -[ActivityTableViewController tableView:cellForRowAtIndexPath:]: 消息发送到释放的实例 0x6853990

但我不确定要寻找什么或可能出现什么问题:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    ItemCell *cell = (ItemCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(cell == nil) 
    {
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ItemCell" owner:nil options:nil];
        cell = [topLevelObjects objectAtIndex:0];
    }

    Item *item = [self.activity objectAtIndex:indexPath.row];

    [[cell projectLabel] setText:item.project];
    [[cell descriptionLabel] setText:item.description];
    [[cell timeLabel] setText:item.time];
    [[cell timeAgoLabel] setText:item.timeAgo];
    //cell.avatar = [UIImageView item.avatar];

    cell.descriptionLabel.numberOfLines = 0;
    [cell.descriptionLabel sizeToFit];

    // remove the right arrow
    cell.accessoryType = UITableViewCellAccessoryNone;

    return cell;
} 

它在第一次启动时运行良好,但之后就崩溃了

编辑

我在一个新项目中重新创建了这个问题,只是一个带有一些数据的基本表,一旦你开始滚动它就会崩溃。下载:http ://dl.dropbox.com/u/274185/TestTable.zip

4

3 回答 3

2

在您的FirstViewController.xib中,删除UITableViewController,但留下UITableView。发生崩溃是因为File's Owner已经在 中设置为类FirstViewControllerIdentity Inspector就像你有第二个UITableViewController。还要确保它UITableView已连接到控制器的视图出口。

于 2012-05-04T05:21:29.233 回答
0

你正在出队代码有点偏离......试试我的:

     UITableViewCell *cell = [[UITableViewCell alloc] init];
cell = nil;
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                   reuseIdentifier:@"cell"]
            autorelease];


    cell.imageView.image = nil;
    cell.textLabel.text = nil;

}
于 2012-05-03T08:23:22.663 回答
0

检查你的ItemCell类的dealloc方法,你可能过度释放了一些东西。

于 2012-05-03T08:29:37.750 回答