UINavigationController 在将 3 个视图推送到堆栈后崩溃

Posted

技术标签:

【中文标题】UINavigationController 在将 3 个视图推送到堆栈后崩溃【英文标题】:UINavigationController crashes after pushing 3 views onto stack 【发布时间】:2010-04-26 18:55:26 【问题描述】:

我有一个导航控制器,其结构如下:

Category
    Item
        Item Detail

我可以选择一个类别,然后选择一个项目以查看其详细信息。我可以这样做两次,即转到 Back 到项目列表并选择另一个项目。如果我第三次尝试这个,应用程序崩溃,我在堆栈中得到objc_msgSend,但仅此而已。但是,我没有选择另一个项目,而是转到类别列表,然后选择一个不同的类别,我可以在该类别中选择两个项目,然后它也会崩溃。

这是什么原因造成的?

谢谢

【问题讨论】:

【参考方案1】:

这可能是由于您声明私有变量的方式。答案嵌入我在此处发布的问题中: UINavigationController crash because of pushing and poping UIViewControllers

【讨论】:

【参考方案2】:

解决了。我过度释放了一个变量。使用了 Instruments 中的分配,并打开了记录引用计数和 nszombie 选项以跟踪它。

【讨论】:

以上是关于UINavigationController 在将 3 个视图推送到堆栈后崩溃的主要内容,如果未能解决你的问题,请参考以下文章

创建自定义 UINavigationcontroller 类

UINavigationController 不会在推送的 UIViewController 上调用 viewDidLoad

如何在我的自定义导航控制器中隐藏标签栏?

关闭 UINavigationController 并呈现另一个 UINavigationController

iOS:如何在现有 UINavigationController 中打开另一个 UINavigationController?

带有主 UINavigationController 和详细 UINavigationController 的 UISplitViewcontroller