`[[self tableView] reloadData]`更改NSMutableArray计数

时间:2011-10-16 13:30:41

标签: iphone nsmutablearray uitableview multiple-instances

我有一个使用UITablewView的应用程序,在该TableView中有一个NSMutableArray,用于保存要在TabelView中显示的数据。 问题出在我使用的TableView控制器中:

[[self tableView] reloadData] 

要重新加载TableView数据,它可以正常工作几次,但第三次不能正常工作,而是以奇怪的方式更改数组计数。

现在我在这里阅读similar问题,很可能我有2个TableView或TableViewController实例,但我无法弄清楚如何解决这个问题?如何检测对象是否有2个实例并修复它?

编辑:这是我的导航enter image description here

的图片

所以第一轮从ScrollView到TableView的东西正确显示出来。然后我去UIView并回到TableView,它工作正常。所以我一直回到ScrollView,再回到TableView,这很好。

但是当我这次去UIView然后回到TableView时会发生这个问题。 TableView不显示更改。所以我在[[self tableView] reloadData]之前放了一个断点,发现数组_displayedObjetcs的计数已经改变了。 -1实际上。在我跳过reloadData just before reloadData之后看到以下屏幕截图b4 然后

just after reloadData

1 个答案:

答案 0 :(得分:1)

我的想法是,您的应用程序无法正确保留您的阵列。你的“怪异”计数可能是一个像234791 ......的数字,它高度表明一个阵列被错误地释放了。因此,我会检查你是如何保留和释放这个数组的。

但是,如果没有更多发布的代码,则无法进一步帮助您。