2011-02-28 37 views
0

Iv一直在這個問題上拖了很久,但我只是無法弄清楚。令人困惑的關於IBOutlets的錯誤

在視圖中如果我嘗試對由IBOutlet連接的imageView進行一些更改,則視圖控制器的Load方法無法響應。它根本不響應對IBOutlet元素進行的任何更改。例如:如果我在IB中有一個imageView,並且它通過一個IBOutlet連接,並且我嘗試設置此ImageView的隱藏屬性,它不響應。爲什麼這是超越我的。

然後,我將imageView添加到另一個視圖,並將該組合作爲子視圖添加到此視圖。然後我可以修改這個imageView元素。但是,如果我嘗試在viewDidLoad以外的其他方法中訪問此imageView,則應用程序會崩潰。 imageView是一個實例變量。

+0

您的ImageView屬性是如何定義的?你保留它嗎?例如@property(retain,nonatomic)IBOutlet ImageView * imageView – occulus 2011-02-28 16:16:55

+0

您是否檢查過您嘗試與其交互的地方您的ImageView屬性是否爲非null?發送給nil對象的消息(也稱爲「方法調用」)在Objective C中沒有錯誤就消失了,給人的印象是沒有任何錯誤,但是你期望發生的事情不會發生。 – occulus 2011-02-28 16:18:14

+1

向我們展示一些代碼:) – deanWombourne 2011-02-28 16:35:45

回答

0

最可能的解釋是imageView在IB中沒有連接。由於應用程序在訪問時崩潰,IBOutlet可能連接到另一個對象,而不是僅僅是空的。