2016-03-04 32 views
0

我不完全確定如何對此進行說明,但出於某種原因,我認爲它非常簡單。以下代碼適用於NavigationBar和ViewController,以便在我的App Delegate(在didFinishLaunchingWithOptions下)中設置託管上下文/核心數據。我如何使同樣的事情工作,但也有一個TabBar(假設我仍然想要到UIViewController)?使用TabBar和NavBar在應用程序委託中配置窗口

let navController = window!.rootViewController as! UINavigationController 
let viewController = navController.topViewController as! ViewController 
viewController.coreDataStack = coreDataStack 

以下是我嘗試這樣做的方法,但是它錯誤地使用了「tabController.selectedIndex = 2」命令。

let tabController = window!.rootViewController as! UITabBarController 
let navController = (tabController.selectedIndex = 2) as! UINavigationController 
let viewController = navController.topViewController as! FamilyViewController 
viewController.coreDataStack = coreDataStack 

任何想法?預先感謝任何幫助!

回答

2

我想讓navController =(tabController.selectedIndex = 2)as! UINavigationController不正確。

tabController.selectedIndex = 2,而不是你應該使用[tabController.viewControllers objectAtIndex:2]

對不起,不使用快捷語法,但我認爲你可以從這個想法。

+0

完美!對於任何其他人的參考,最終轉換爲Swift時,它最終成爲了tabController.viewControllers![1]。非常感謝! – skind

相關問題