2015-03-10 4 views
-1

Я двигаюсь к следующему экрану с помощью этого кода
Передача данных на следующий ViewController

var nextVC = self.storyboard?.instantiateViewControllerWithIdentifier("MainVC") as ViewController 
      self.navigationController?.pushViewController(nextVC, animated: true)<br> 

Теперь я хочу передать логическое значение в к следующему экрану, как я могу передать?

ответ

1

Просто установите переменную? У вас уже есть экземпляр viewController.

var nextVC = self.storyboard?.instantiateViewControllerWithIdentifier("MainVC") as ViewController 

nextVC.myFancyBoolVariable = true 

self.navigationController?.pushViewController(nextVC, animated: true) 
0

Ознакомиться с prepareForSegue(_:sender:) задокументировано here.

+0

Могу ли я передать Bool Para с моим существующим кодом? или мне нужно использовать prepareForSegue (_: sender :)? –

0

Отправить данные из ViewController1 в ViewController2:

ViewController1:

// define var  
var myboolvar: Bool = true 
var anyOtherVar: String = "test" 

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

     if (segue.identifier == "editCardSet"){ // name your segue in storyboard 
      var upcoming: ViewController2 = segue.destinationViewController as ViewController2 // set the target ViewController 


      // transport any data, as many as you need 
      // make sure these vars are set in the seocnd ViewController, otherwise you will get an error here 
      upcoming.receiveMyBool = self.myboolvar 
      upcoming.receiveMyVar = self.anyOtherVar 


     } 

    } 

В ViewController2:

class ViewController2: UITableViewController { 

// define the vars you are sending from the previous controller 
var receiveMyBool: Bool! 
var receiveMyVar: String! 
Смежные вопросы