2016-12-13 6 views
0

У меня есть UIViewController. Он имеет некоторый массив. Через 3 секунды я создаю раскадровку и нахожу первый UIViewController в раскадровке и устанавливаю свои данные для нового UIViewController. Мой код выглядит следующим образом:Начало раскадровки UIViewController от UIController

let storyBoard = UIStoryboard(name: "TabBar", bundle: nil) 
     let tabBarController = storyBoard.instantiateViewController(withIdentifier: "tab_bar_story") as! UITabBarController 

     let uiControllers:[UIViewController] = tabBarController.viewControllers! 

     print("Size \(uiControllers.count)") 

     var controller = uiControllers[0] as! UserTabBarItemViewController 
     controller.users = self.users 

//  self.present(controller, animated: true, completion: nil) 

Когда self.present линия раскоментирована, я получаю следующую ошибку.

Size 2 
2016-12-13 23:53:16.684 swift_mvp[4229:87787] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present modally an active controller <swift_mvp.ViewController: 0x7fb8eef02e20>.' 
*** First throw call stack: 

My New tabBar в новой раскадровке имеет 2 UIViewControllers, которые обозначают вкладки. Что-то я здесь делаю.

ответ

0

удалось передать данные мне пришлось использовать:

self.present(tabBarController, animated: true, completion: nil) 

вместо того, чтобы первый вид контроллера.

 Смежные вопросы

  • Нет связанных вопросов^_^