【发布时间】:2013-12-04 03:02:16
【问题描述】:
我有一个带有三个标签的标签栏应用程序。在第三个选项卡上有一个导航控制器,并且在那里完成了帐户设置。帐户设置完成后,我会弹出该选项卡上的所有控制器并将所选选项卡更改为第一个。但是之后当我选择第三个选项卡时,应用程序崩溃并显示消息"message sent to deallocated instance 0x15d17cc0"。此问题仅在 iOS 7 上出现,在 iOS 6 或更低版本上不会出现。
【问题讨论】:
-
没有任何代码很难猜到。您是否尝试在启用了僵尸检测的仪器下运行您的项目?它应该会完美地告诉您在释放后引用了哪个对象。
-
我假设您没有使用 ARC。如果是这样,我强烈建议将您的应用程序转换为 ARC - 这将消除大部分内存管理问题。
-
请向我们展示弹出所有第三个标签视图的代码。也许你也在释放导航控制器?
-
@shinyuX 它是
[self.tabBarController setSelectedIndex:0]; [self.navigationController popToRootViewControllerAnimated:NO]; -
这个问题应该重新打开,因为可能不涉及“代码”,因为问题可以使用原版/样板代码和情节提要来创建。
标签: ios objective-c uinavigationcontroller ios7 uitabbar