我正在使用带有标准单元格的表格视图的iPad应用程序,当选择自定义单元格时,它应该展开并加载自定义nib文件。对于第一次选择,这样做很好。
如果我选择一个标准单元格,它会很好地加载笔尖,如果我再次选择它会恢复正常,在第二次加载时会抛出EXC_BAD_ACCESS
错误(我不认为我会得到xcodes错误,似乎是最抽象的。)
我的代码在下面,该行是它将单元格出列以便重复使用,第3行:
if([listCells objectAtIndex:indexPath.row] == @"open") {
NSLog(@"Loading open cell at %i", indexPath.row);
CustomMessageCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CustomMessageCell"];
//Loads the nib file and grabs the last object, presumably the table cell, as it is the only object in the file.
if(cell==nil) {
cell = [[[[NSBundle mainBundle] loadNibNamed:@"CustomMessageCell" owner:self options:nil] lastObject] autorelease];
}
UILabel *message = (UILabel *) [cell viewWithTag:1];
UIButton *approve = (UIButton *)[cell viewWithTag:4];
message.text = @"Test";
return cell;
非常感谢任何帮助,谢谢!
答案 0 :(得分:1)
您是否编译并在真实设备上运行?有时您会获得更多信息,然后仅在模拟上运行。
还有其他要检查的事项:
尝试运行你的应用程序(在真实设备上)并使用Zombies然后泄漏分析工具对其进行分析。 (而不仅仅是“运行”选择“个人资料”)。
希望这有帮助。
答案 1 :(得分:0)
你不应该autorelease
单元格在这一行:
cell = [[[[NSBundle mainBundle] loadNibNamed:@"CustomMessageCell"
owner:self options:nil] lastObject] autorelease];
只需像这样创建:
cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomMessageCell"
owner:self options:nil] lastObject];