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