2015-06-14 4 views
0

Я пытаюсь скомпилировать свое приложение снова, когда у Swift 2 нет, и дело в том, что у меня ошибка с TabBarController экземплярами.Экземпляр TabBarController Swift 2.0

Я объявляю экземпляры в vars, чтобы использовать методы из чужих ViewControllers.

Вот это мой код:

let barViewControllers = self.tabBarController?.viewControllers 
let listViewController = barViewControllers![2].viewControllers![0] as! dbViewController //The [2] is because it's the third TabBar and the [0] it's because It's embebed in a NavigationController. 
let calendarViewController = barViewControllers![1] as! CalendarViewController 

Во второй строке Im имеющей следующую ошибку:

UIViewController does not have a member named "viewControllers" 

Кто-нибудь может мне помочь?

Благодаря

ответ

1

Вы пытаетесь получить доступ к свойству viewControllers типа UIViewController, что он не имеет. viewControllers - это свойство на UITabBarController, но viewControllers возвращает массив UIViewController.

Ввести viewControllers в массив UITabBarController (или только тот предмет, который вы выберете), чтобы получить доступ к его viewController.

Как это:

let barViewControllers = self.tabBarController?.viewControllers as! [UITabBarController] 

Или это:

let listViewController = (barViewControllers![2] as! UITabBarController).viewControllers![0] as! dbViewController 
+0

Большое вам спасибо за ваш ответ !! Теперь он работает, и я понял проблему :) – LPS