我有一个从xib文件中加载并推送到导航控制器栈的UIViewController。
在视图控制器的头文件中,我有以下代码:
IBOutlet UILabel *myTitle;
我在代码中还没有对“myTitle”进行任何操作,我只是在设置连接。
当我编译并运行应用程序时,如果xib文件中没有定义标签(因此,没有任何IBOutlet附加到它),它可以正常工作。视图控制器可以很好地动画显示,展示我在Interface Builder中构建的视图。
如果我在Interface Builder中向xib添加一个标签,但不将其连接到IBOutlet,并重新编译,则仍然可以正常工作,并显示我为其输入的默认文本。
但是,如果我将IBOutlet myTitle连接到Interface Builder中的标签,重新编译并运行应用程序,在尝试将视图控制器推入导航控制器的堆栈时,就会崩溃。
*** -[UILabel copyWithZone:]: unrecognized selector sent to instance 0x4558e20
如果我再次断开插座,它会恢复工作,并显示与之前相同的静态标签。似乎在显示视图时有一些奇怪的事情发生,因为当我将视图推入导航堆栈时发生崩溃。
我是否不应该向UILabel添加IBOutlet或其他问题?还是其他问题正在发生?有什么建议可以寻找麻烦的地方?