2017-02-27 76 views
-2

我正在從書中進行練習,我們正在編程構建視圖控制器並創建單元測試。該書還說,從以往閱讀Apple參考文檔的經驗來看,Apple引用總是說不直接調用viewDidLoad,viewWillAppear,viewDidDisappear等。我很想知道這是爲什麼,如果我們這樣做會發生什麼?爲什麼Apple建議我們不要調用viewWillLoad,viewWillAppear,viewDidDisappear等?

+3

閱讀這些方法的文檔。閱讀一下視圖控制器的生命週期。他們被框架調用。它們不是直接被調用的。 – rmaddy

+3

這不是一個建議。這是一部法律。 – matt

+1

有一個理論指出,如果任何人直接調用viewWillAppear,宇宙將立即消失,並被更奇怪和莫名其妙的東西所取代。 –

回答

4

viewDidLoadviewWillAppearviewDidDisappear等等都是讓的運行時間的方式,你知道,某些重要的事情正在發生:

  • viewDidLoad,視圖控制器剛剛獲得其觀點

  • viewWillAppear ,視圖控制器的視圖即將被放置到接口

  • viewDidDisappear,視圖控制器的觀點是即將從接口

這些都是在運行時負責事件取出,並將其發送你的信息,讓你知道他們發生這樣就可以應對,如果你希望在適當的時候。

這也就沒有什麼意義打電話給他們,因爲你不知道這些事情正在發生(除非此種運行時調用它們)!如果你在某個任意時刻給他們打電話,你會說謊,例如,說這個視圖剛加載時實際上已經加載了而不是,所以你會破壞你自己的代碼或者更糟。

相關問題