2016-05-04 4 views
1

ViewcontrollerB - это корневой вид контроллера nav и первый вид контроллера представления таблиц в то же время. Как передать данные из начального вида через навигатор и контроллер табуляции в ViewB? БлагодаряБыстрая передача данных между контроллером Nav и Tab

Storyboard

ответ

0

Дайте панель вкладок контроллер пользовательского класса, например MyTabBarController, и объявить переменную, что там будет получить текст из текстового поля в журнале в вид контроллера (через prepareForSegue). то вы сможете получить доступ к этой переменной с вашего домашнего контроллера.

В журнале с точки зрения контроллера:

@IBAction func ButtonPressed(sender: AnyObject) { 

    performSegueWithIdentifier("toTabBarController", sender: nil) 

    } 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

     if let tabBarController = segue.destinationViewController as? MyTabBarController{ 

     tabBarController.someVariable = someTextField.text! 

     } 

    } 

в контроллере бар вкладки:

var someVariable = String() 

в вас контроллер дома Tableview:

override func viewWillAppear(animated: Bool) { 

     let tabBarController = self.tabBarController as! MyTabBarController 
     someVariable = tabBarController.someVariable 

    print("the text is",someVariable) 


} 
+0

Привет, спасибо. Я пробовал свой код в своем приложении. Проблема в том, что мой viewB в настоящее время встроен как в контроллер навигации, так и в контроллер табуляции. Таким образом, значение не может проходить непосредственно из logView в viewB по значению отправки в контроллер табуляции –

+0

Да, я посмотрел на вашу картину раскадровки, воссоздал проект и смог заставить его работать. Пожалуйста, дайте мне больше информации, чтобы я мог вам помочь. Можете ли вы успешно передать свою переменную из logView на свой контроллер на вкладке с помощью функции performSegueWithIdentifier? – valencieu

+0

, если я только встроил свой взгляд на контроллер табуляции, он может успешно передать данные. Однако добавьте еще один контроллер Nav, он не работает –

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