EXC_BAD_ACCESS(代码= 1,地址= 0x71474b80)
当用户从嵌套的UITableView中完全向下滚动返回时,会出现此错误。如果我不滚动到底部,则不会发生错误。
可能存在
建议的解除分配问题UIViewTableController: "EXC_BAD_ACCESS" When Scrolling Up/Down Past the Max Position of the Table
我的代码是:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"TroncalesInfo";
TroncalesViewCell *cell = [[TroncalesViewCell alloc]init];
cell = [tabla dequeueReusableCellWithIdentifier:CellIdentifier];
cell.IDTroncal = [nombresTroncales objectAtIndex:indexPath.row];
[cell setCellAtributes:indexPath db:dataBase];
return cell;
}
答案 0 :(得分:2)
这是我经常使用的一点点黑客。我不确切知道它为什么会起作用,但试一试;)。
将其插入viewController的viewWillDisappear中:
tabla.delegate = nil;
答案 1 :(得分:1)
我不知道这是否是您问题的根源,但是此代码:
TroncalesViewCell *cell = [[TroncalesViewCell alloc]init];
cell = [tabla dequeueReusableCellWithIdentifier:CellIdentifier];
应该更接近这个:
TroncalesViewCell *cell = [tabla dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell) {
cell = [[TroncalesViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
我认为您现有的代码可能会返回nil
单元格,这会抛出异常。现在,你毫无意义地初始化一个单元格,然后扔掉它并用另一个单元替换它。
答案 2 :(得分:0)
从崩溃日志中,似乎TroncalesViewController的委托已被重新分配,但不应该重新分配。滚动视图时,您可以检查以确保TroncalesViewController的委托仍然存在。