我正在升級我的應用程序版本,因此需要將兩個視圖控制器減少到一個。因此,我打電話給第二個視圖控制器跳過第一個。但是在這裏我需要調用第一個視圖控制器的類,因爲有一些重要的聲明和實現。如何在不彈出其視圖控制器的情況下調用第一個視圖控制器的類。調用視圖控制器類而不彈出視圖控制器本身
2
A
回答
1
這很混亂。
爲什麼不從你的第一個VC(複製粘貼你的屬性,在viewDidLoad等初始化)到你的第二個VC的所有初始化代碼?
一旦你完成了,擺脫第一個VC,因爲它是無用的,並讓你的第二個視圖控制器的根。
一個ViewController的目的是「被視爲」,我建議你不要隱藏它,這是一個非常糟糕的架構。
1
如果您根本不需要一個視圖控制器,那麼您可以從storyBoard中刪除該視圖控制器,並且還可以將您的類作爲NSObject類(讓它稱爲DataProviderClass
)而不是先前的(UIViewController)子類繼承。在導航堆棧中使用「虛擬」視圖控制器並不是一個好主意。
您可以使用您的DataProviderClass
類作爲支持文件,它可以向您的第二視圖控制器提供任何數據。並且要在啓動第二個VC之前執行此類中的計算/方法,只需在viewdidLoad方法中通過創建此NSObject類的一個實例(DataProviderClass
)並保存對它的引用來運行這些方法。
當你繼續進一步,你甚至可以很容易地轉移相同的參考DataProviderClass
。
相關問題
- 1. 父視圖控制器調用本身而不是子視圖
- 2. 不使用導航控制器時彈出視圖控制器?
- 3. 將視圖控制器彈出到一個不存在的視圖控制器
- 4. 如何在推送的視圖控制器下彈出視圖控制器?
- 5. 從彈出視圖控制器獲取數據到父視圖控制器
- 6. MVYSideMenu彈出到根視圖控制器
- 7. 彈出到初始視圖控制器
- 8. 視圖控制器彈出ttthumbsviewcontroller
- 9. 彈出連續視圖控制器並返回主視圖控制器(使用導航控制器)
- 10. 不會彈出到子視圖控制器的父視圖
- 11. 在拆分視圖控制器:調用詳細視圖控制器方法從主視圖控制器
- 12. 分割視圖控制器不作爲根視圖控制器
- 13. MKMap註釋顯示視圖控制器,而不是彈出框
- 14. 爾康視圖控制器不控制
- 15. MVC控制器不控制視圖
- 16. 在拆分視圖控制器中調整主視圖控制器和詳細視圖控制器的大小?
- 17. 視圖控制器
- 18. 視圖控制器
- 19. 從彈出視圖中的tableViewController訪問父視圖控制器
- 20. 在同一視圖控制器中的新視圖控制器或彈出窗口中的新視圖
- 21. 從另一個視圖控制器關閉視圖控制器
- 22. 登錄視圖控制器在模態視圖控制器
- 23. 從視圖控制器顯示新的視圖控制器
- 24. 在當前視圖控制器下加載視圖控制器
- 25. 有多少視圖控制器太多視圖控制器?
- 26. 視圖控制器上的表視圖控制器
- 27. 設置根視圖控制器的模態視圖控制器
- 28. 從其他視圖控制器刷新視圖控制器
- 29. 模型視圖控制器中的模型視圖控制器
- 30. 從子視圖控制器推動視圖控制器
感謝@ H4Hugo,這是正確的,但只是好奇,如果有這樣的替代 – Sam
@Sam你可以使'超類:UIViewController',執行所有共享功能,然後從它繼承你的視圖控制器 –