如何阅读此崩溃日志?

时间:2011-10-10 04:12:28

标签: ios crash crash-reports

对于那些试图阅读这个问题的人来说,我和Jonas之间已经进行了广泛的讨论,并且在讨论过程中问题已经多次改变,因此重申我们在这里所做的一切都没有用处。如果您在阅读崩溃日志时遇到问题,请参阅stackoverflow上的this问题!谢谢你的理解。

Jonas:这是我上次评论中提到的代码段:

if ([performance.favorites integerValue] == 1) {
        UIImage *starImage = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"fav-star" ofType:@"png"]];

        cell.favoritesImage.image = starImage;
    }
    else
    {
        cell.favoritesImage.image = nil;
    }

因此,如果else块被执行,如果正在释放未显示收藏夹Image的TableViewCell,那会导致[favoritesImage release]调用崩溃吗?

所以我可以简单地将它添加为nil添加一个alpha设置为0的随机图像以获得相同的效果但没有任何内存泄漏?

1 个答案:

答案 0 :(得分:0)

“阅读”崩溃报告并不总是那么容易。 你发送的两个没有显示任何“自己编码”的方法。

你有“EXC_BAD_ACCESS”,所以我会说:“这是一个内存释放/保留问题”: 你可以早点发布一些UITableView。

您是否检查过UITableViewCell是否已正确自动释放? UITableViewCell中的所有子视图和对象是自动释放还是至少未发布到0?

更多详情:

1)我永远不会通过NIB / XIB创建UITableViewCell子类。你失去了很多表现。我建议你通过编码创建UITableViewCell子类。 请记住:XIB(xml)的缩小需要时间,当您滚动UITableView时,可能会出现难看的扭曲。

2)对于你的内存问题:检查一下:How do you load custom UITableViewCells from Xib files? autorelease不是正确的。