我有一个UIViewController,我从xib文件加载并推入导航控制器堆栈。将UILabel连接到IBOutlet导致崩溃
在该视图控制器头文件,我有:
IBOutlet UILabel *myTitle;
我不与代码“myTitle”,但做任何事情;我刚刚建立了连接。
当我编译并运行应用程序,并且在xib文件中没有定义标签(因此没有任何附加到IBOutlet的标签)时,它可以工作。视图控制器可以动态地查看视图,显示我在“界面”构建器中构建的视图。
如果我在界面构建器中为xib添加标签,但不将其连接到插座,然后重新编译,它仍然有效,并显示带有我为其输入的默认文本的标签。
但是,如果我将IBOutlet myTitle连接到界面构建器中的标签,重新编译并运行应用程序,它会正常工作,直到我尝试将视图控制器推到导航控制器的堆栈上,此时我发生崩溃:
*** -[UILabel copyWithZone:]: unrecognized selector sent to instance 0x4558e20
如果我再次断开插座,它将恢复工作,显示静态标签。当视图显示时,看起来有些奇怪,因为当我将视图推到导航堆栈上时发生崩溃。
我不应该添加一个IBOutlet到UILabel或什么?或者还有其他事情正在发生?任何关于在哪里寻找麻烦的建议?
我有一个相同的问题,我创建了一个访问器。如果我设置了一个断点,它甚至在我到达第一行代码之前就爆发了。在我的情况下,问题出现在第一个(唯一)视图控制器中。 – Andiih 2009-11-13 09:48:09