当用户点击任何行时,我有一个UITableView我修改(删除一行并插入一行)。内存释放在iOS6及更早版本中运行良好,但iOS7不会发布tableview。这是我的代码的基础知识。我已经大大减少了代码,但问题仍然存在。
- (void)tableView:(UITableView *)intableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[intableView beginUpdates];
[intableView endUpdates];
}
开始/结束更新会导致内存被占用。如果我在此函数中插入或删除行(以及后台数据数组),它也是一样的。我通过添加:
将UITableView和单元格子类化-(void)dealloc
{
NSLog(@"deallocated %@",[self class]);
}
这样我才能看到他们何时被解除分配。我们不应该再次更新关于选择的tableview了吗?它是在一个不同的线程,什么东西被举行? (我已尝试dispatch_async
进入不同的主题)
我可以发布更多代码,但是我当前的代码看起来就像我发布的那样,并且它仍然以某种方式保留在tableview上而不是取消分配它。