更新内部的UITable didSelectRowAtIndexPath会在iOS7中导致泄漏,但不会在iOS6中泄漏

我有一个UITableView,我修改(删除一行,插入一行),当用户点击任何行。 内存释放在iOS6和更早版本中效果很好,但是iOS7不会释放tableview。 这是我的代码的基础知识。 我大大减less了代码,但问题仍然存在。

- (void)tableView:(UITableView *)intableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [intableView beginUpdates]; [intableView endUpdates]; } 

开始/结束更新会导致内存被占用。 如果我在这个函数中插入或删除行(和背景数据数组)一样, 我分类了UITableView和单元格,只需添加:

 -(void)dealloc { NSLog(@"deallocated %@",[self class]); } 

所以我可以看到他们何时被释放。 我们不应该更新select的桌面视图吗? 它是在一个不同的线程被拿着吗? (我已经尝试dispatch_async到不同的线程)

我可以发布更多的代码,但我目前的代码看起来就像我发布的,它仍然坚持到tableview,而不是释放它。