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

发布于 2024-12-10 08:20:09 字数 1017 浏览 1 评论 0原文

我有一个使用 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 just before reloadData 然后

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 enter image description here

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 just before reloadData
and then

just after reloadData

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

缺⑴份安定 2024-12-17 08:20:09

我的直接想法是您的应用程序没有正确保留您的数组。您的“奇怪”计数可能是像 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文