`[[self tableView] reloadData]` 更改 NSMutableArray 计数
我有一个使用 UITablewView 的应用程序,在该 TableView 中有一个 NSMutableArray 保存要在 TabelView 中显示的数据。 问题出在我使用的 TableView 控制器中:
[[self tableView] reloadData]
重新加载 TableView 数据,它可以正常工作几次,但在第三次时不起作用,而是以一种奇怪的方式更改了数组计数。
现在我在这里读到 类似 问题,很可能我有 2 个 TableView 实例或TableViewController 但我不知道如何解决这个问题?如何检测该对象是否有 2 个实例并修复它?
编辑:这是我的导航的图片
所以从 ScrollView 到 TableView 的第一轮内容显示正确地起来。然后我转到 UIView 并返回 TableView,它工作正常。所以我一直返回到 ScrollView,然后再次返回到 TableView,这很好。
但是当我这次转到 UIView 然后返回 TableView 时,就会出现此问题。 TableView 不显示更改。因此,我在 [[self tableView] reloadData]
之前放置了一个断点,发现数组 _displayedObjetcs
的计数发生了变化。实际上是-1。请参阅以下屏幕截图 b4 以及在我跨过 reloadData
然后
I have an app that uses a UITablewView and in that TableView there is an NSMutableArray that holds the data to be displayed in the TabelView.
The problem is in my TableView Controller I use:
[[self tableView] reloadData]
To reload the TableView data and it works fine for a couple of times but doesn't work on the 3rd time and instead it changes the array count in a weird way.
Now I read similar question here and most likely I have 2 instances of the TableView or the TableViewController but I can't figure out how to troubleshoot this? How to detect if there are 2 instances of the object and fix that?
EDIT: Here is a pic how my navigation goes
So the 1st round of going from ScrollView to TableView things show up correctly. Then I go to UIView and back to TableView and it's working fine. So I go back all the way to ScrollView and back again to TableView and it's good.
But when I go to the UIView for this time then back to TableView this problem happens. TableView doesn't display the changes. So I put a breakpoint just before [[self tableView] reloadData]
and found out that the array _displayedObjetcs
gets its count changed. -1 actually. see the following screen shots b4 and after I step over the reloadData
and then
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我的直接想法是您的应用程序没有正确保留您的数组。您的“奇怪”计数可能是像 234791... 这样的数字,这高度表明数组已被错误释放。因此,我会检查您如何保留和释放该数组。
但是,如果没有更多发布的代码,就不可能为您提供进一步的帮助。
My immediate thought is that your array is not being retained properly, by your application. Your "weird" count is probably a number like 234791..., which is highly indicative of an array that has been released incorrectly. Therefore, I would check how your are retaining and releasing this array.
However, without more posted code, it is impossible to help you further.