我和其他许多人一起看过这个问题,通过了所有主题,但我似乎无法找到解决方案。
所以我有一个普通的表格视图,其中一个单元格链接到.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
答案 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
方法,您可能会过度发布内容。