0

我正在开发一个 iPhone 应用程序。我正在使用故事板。

我想将一个对象附加到 NavController 以处理显示表格视图的窗口底部按钮栏的可见性。

我创建了自己的 UINavigationDelegate;我的导航控制器委托。

我在 UIBuilder 中创建了一个 NSObject 并更改了它的类 MyNavigationControllerDelegate。然后将其附加为 UINavigationController 的委托。

在此处输入图像描述

出于某种原因,MyNavigationControllerDelegate 正在被释放。我原以为成为代表就足以保持对它的引用并防止重新分配,但情况似乎并非如此。

关于如何防止它被释放的任何建议?每次加载视图时,我是否必须将其重置为委托?

4

1 回答 1

2

UINavigationController的delegate属性被声明为assign而不是retainstrong(参见此处)。委托通常声明为weakor assign,这意味着分配属性不会导致UINavigationController增加委托的引用计数,并且您需要另一个对象来持有对它的强引用(可能是您的 RootViewController)。

于 2012-06-13T14:24:09.637 回答