2011-12-16 50 views
2

我經常看到這行代碼什麼是[super awakeFromNib];用於?

[super awakeFromNib] 

awakeFromNib方法在視圖控制器

我的理解是它說的是超類此視圖控制器(這將是窗口的實施)至awakeFromNib。 我對不對?如果是這樣,爲什麼我們不得不告訴窗口在UIView控制器子類的awakeFromNib方法中醒來?

回答

3

我的理解是它說的是超一流的這一觀點控制器的...

權至今...

(這將是窗口)

oops - 這是你的困惑的根源。

「視圖控制器的超類」是UIViewController。 「super」指的是你的UIViewController子類繼承的基類;它與包含視圖的窗口沒有任何關係。

因此,除了無論你在你的子類實現中做什麼之外,這是在調用默認的awakeFromNib實現的基本UIViewController

+0

謝謝。好的,那麼爲什麼我們不得不告訴UIViewController醒來? – 2011-12-16 01:42:39

1

什麼大衛上面說的是正確的,

現在對於你的問題「爲什麼我們要告訴窗口一個UIView控制器子類的awakeFromNib方法,醒了嗎?」

如果在您的ViewController加載之前有任何自定義修改或任何想要加載的數據,我們應該使用awakeFromNib

awakeFromNib在控制器本身從筆尖被解除存檔時調用。