2015-10-21 40 views
3

我還沒有在與這個問題相關的帖子中找到相關的和最新的答案。如何加載UITabBarController中的所有視圖?

我想在啓動時加載所有viewcontrollers。目前它按預期啓動,但是當我點擊一個酒吧項目(第一次)時,由於它尚未加載,所以加載它稍有延遲。

我該怎麼做纔是Swift?

謝謝。

回答

8

將其預加載UIViewController的看法,只需訪問其view屬性:

let _ = myViewController.view 

要預裝在UITabBarController所有視圖控制器,你可以這樣做:

if let viewControllers = tabBarController.viewControllers { 
    for viewController in viewControllers { 
     let _ = viewController.view 
    } 
} 

還是有點更緊湊:

tabBarController.viewControllers?.forEach { $0.view } 
+0

感謝羅伯特,不幸的是我已經嘗試瞭解決方案,swift給viewController.view一個錯誤:'表達式解析爲一個未使用的l值' – Sam

+0

嗯,我沒有得到那個錯誤。你可以嘗試這樣做:'let _ = viewController.view' – Robert

+0

是的,這應該工作;在操場外使用時,我會發生這樣的錯誤。我會更新答案... – Robert

0

羅伯特的答案上面的工作對我來說,但我將UINavigationControllers作爲每個選項卡的初始視圖控制器。因此,我不得不打電話

viewControllers.forEach { $0.view } 
我UINavigationControllers內

,以便被加載以及他們的根視圖控制器。希望能幫助Sam出局。

相關問題