我有一個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