滚动列表时,应用程序崩溃

时间:2012-05-03 08:21:15

标签: ios uitableview crash

我和其他许多人一起看过这个问题,通过了所有主题,但我似乎无法找到解决方案。

所以我有一个普通的表格视图,其中一个单元格链接到.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

3 个答案:

答案 0 :(得分:2)

FirstViewController.xib中,移除UITableViewController,但请离开UITableView。发生崩溃的原因是File's Owner已将FirstViewController设置为Identity Inspector中的类UITableViewController,就像您有第二个UITableView一样。还要确保{{1}}已连接到控制器的视图插座。

答案 1 :(得分: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;

}

答案 2 :(得分:0)

检查您的ItemCell班级dealloc方法,您可能会过度发布内容。