我收到此错误:
"An Objective-C message was sent to a deallocated object (zombie) at address: 0x118208a0"
当我在我的 5 选项卡应用程序中从一个选项卡切换到另一个选项卡时。
该应用程序的设置方式类似于我们设备上的音乐/iTunes 应用程序:5 个选项卡,每个选项卡都包含一个链接到其他屏幕的 UINavigationController。
仅当我执行以下操作时才会发生此崩溃:
-我单击“更多”选项卡-在其中
选择“图像库”选项
-这将打开“ImageGallery”视图控制器(通过“presentModalViewController”-而不是“pushViewController”-但我认为这与导致崩溃没有任何关系)
- 然后我关闭“ImageGallery”(它有一个触发 [self dismissModalViewControllerAnimated:YES] 动作的按钮) - 这让我回到了“更多”选项卡.
-如果我现在切换到“HOME”选项卡——崩溃!
这只发生在我从“更多”选项卡切换到“主页”选项卡时。它不会发生在任何其他选项卡切换上,并且
- 这仅在我访问了“更多”选项卡中的“ImageGallery”之后才会发生。
换句话说,如果我在“更多”中并选择任何其他选项——导航到其他屏幕——然后切换到“主页”选项卡——一切都很好。只有在访问“MORE”中的“ImageGallery”并切换到“HOME”(并且只有“HOME”)之后——我才会崩溃。
启用 NSZombies 的仪器显示了这一点:
所以这显然发生在从“MORE”视图控制器内部调用“ImageGallery”视图控制器时。但是由于错误是“消息已发送到已释放的对象”,所以没有意义的是为什么/如何/何时将任何类型的消息首先从“HOME”选项卡发送到“ImageGallery”。因为“HOME”选项卡从来没有调用或引用,甚至不知道“ImageGallery”。为什么只有在切换到“HOME”选项卡而不是应用程序中的其他 3 个选项卡时才会发生这种情况?
有任何想法吗?(图像抓取中红色突出显示的线旁边的 86.2% 是什么意思?)