我正在從書中進行練習,我們正在編程構建視圖控制器並創建單元測試。該書還說,從以往閱讀Apple參考文檔的經驗來看,Apple引用總是說不直接調用viewDidLoad,viewWillAppear,viewDidDisappear等。我很想知道這是爲什麼,如果我們這樣做會發生什麼?爲什麼Apple建議我們不要調用viewWillLoad,viewWillAppear,viewDidDisappear等?
-2
A
回答
4
viewDidLoad
,viewWillAppear
,viewDidDisappear
等等都是讓的運行時間的方式,你知道,某些重要的事情正在發生:
viewDidLoad
,視圖控制器剛剛獲得其觀點viewWillAppear
,視圖控制器的視圖即將被放置到接口viewDidDisappear
,視圖控制器的觀點是即將從接口
這些都是在運行時負責事件取出,並將其發送你的信息,讓你知道他們發生這樣就可以應對,如果你希望在適當的時候。
這也就沒有什麼意義你打電話給他們,因爲你不知道當這些事情正在發生(除非此種運行時調用它們)!如果你在某個任意時刻給他們打電話,你會說謊,例如,說這個視圖剛加載時實際上已經加載了而不是,所以你會破壞你自己的代碼或者更糟。
相關問題
- 1. 你什麼時候在viewWillAppear,viewDidDisappear等中調用超級方法...?
- 2. 爲什麼viewWillAppear不會被調用?
- 3. 爲什麼Resharper建議我簡化「不等於」「不等於」?
- 4. 爲什麼人們建議不要使用Amazon RDS?
- 5. 爲什麼我們需要在這裏通用?協議不夠?
- 6. viewWillAppear,viewDidAppear,viewWillDisappear,viewDidDisappear指南
- 7. autocompletetextview並不建議我想要什麼
- 8. 什麼是EJB回調,爲什麼我們需要它們?
- 9. 爲什麼viewWillAppear沒有被調用?
- 10. 爲什麼我們檢查散列,如果我們要檢查等於什麼?
- 11. 爲什麼我們需要調用thread.start()而不是thread.run()?
- 12. 我們爲什麼要放?
- 13. Ruby:爲什麼我們不需要`attr_accessor`?
- 14. 在iPhone中,是否保證viewWillAppear,viewDidAppear,viewWillDisappear,viewDidDisappear總是被調用?
- 15. 裝配需要什麼?爲什麼我們使用它們?
- 16. 爲什麼回調被認爲是異步的,如果我們需要等待
- 17. UITableViewController不能調用viewWillAppear,viewDidAppear等
- 18. 爲什麼我必須調用viewWillAppear來獲取cellForRowAtIndexPath?
- 19. 我們爲什麼不能訪問Apple的實現文件?
- 20. 爲什麼我們需要pop3或Imap協議?
- 21. 爲什麼我們需要目標C中的協議?
- 22. 爲什麼我們要使用HttpContext.Current?
- 23. 爲什麼我們需要使用prompt.start()?
- 24. 我們爲什麼要使用NSOperationQueue?
- 25. 爲什麼我們需要使用ExitWindowsEx
- 26. 我們爲什麼要在PHP中使用靜態調用?
- 27. 爲什麼我們使用接口而不是協議?
- 28. 爲什麼我們需要建議一個變量存儲在寄存器中?
- 29. 爲什麼Apple創建ivars如果@synthesize創建它們?
- 30. siebel需要什麼建議?
閱讀這些方法的文檔。閱讀一下視圖控制器的生命週期。他們被框架調用。它們不是直接被調用的。 – rmaddy
這不是一個建議。這是一部法律。 – matt
有一個理論指出,如果任何人直接調用viewWillAppear,宇宙將立即消失,並被更奇怪和莫名其妙的東西所取代。 –