当我调用UITableView方法“reloadRowsAtIndexPaths”x时,表视图自定义单元格不是dealloc / release

时间:2014-01-08 09:09:50

标签: ios iphone ipad uitableview

我在表格视图中创建了自定义单元格。每个单元在UI方面都不同。我有三个细胞和每个细胞的标识符是不同的。当我调用方法“reloadRowsAtIndexPaths”时,不会释放自定义表视图单元格。这是我的项目源代码的链接

http://www.megafileupload.com/en/file/486016/TableVIewTestSample-zip.html

http://www.2shared.com/file/PgExc8W_/TableVIewTestSample.html

运行代码时,单击屏幕上的“推送”按钮,然后在第二个屏幕上等待4秒钟,然后单击后退按钮。细胞没有被释放。

任何人都可以运行代码并建议对此进行修复。

2 个答案:

答案 0 :(得分:0)

我没有查看你的代码,但重新加载时不一定会释放单元格。构建单元以便重新使用,因此重新加载数据不一定能释放旧单元。 (如果您已经创建了足够的单元格,则没有理由释放和重新创建单元格。)

通常,如果您创建一个tableView并滚动,则不应该看到任何单元格被释放。你应该看到它们只在你查看tableView时才发布(当它确定它不再需要它们时)和其他一些情况。

(另一方面,你可能只是泄漏细胞。)

答案 1 :(得分:0)

此问题存在于iOS 7.0.0到iOS 7.0.2中。当我们执行“reloadRowsAtIndexPaths”方法时,单元格不会释放。此问题已在iOS 7.0.3中解决。