2016-02-14 17 views

Odpowiedz

3

Przygotowanie do segue może przekazywać dane wzdłuż.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { 
     if (segue.identifier == "showUpdate") { 

      if let vc: DestinationVC = segue.destinationViewController as? DestinationVC { 
        vc.variable = variableToPass 
      } 

     } 
} 
6

Sposób performSegueWithIdentifier przyjmuje dwa argumenty: 1. identyfikator Segue 2. Parametr jesteś przejazdem, który jest typu AnyObject?

@IBAction func update(sender: AnyObject) { 

    self.performSegueWithIdentifier("showUpdate", sender: sender) 
} 

Następnie w metodzie prepareForSegue, sprawdzić identyfikator Segue i rzucać parametr nadawcy do typu, który przeszedł w wcześniej.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "showUpdate" { 
     guard let object = sender as? ObjectToUpdateType else { return } 
     let dvc = segue.destinationViewController as! DestinationViewController 
     dvc.objectToInject = object 
    } 
} 
7
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if segue.identifier == "ExampleSegueIdentifier" { 
      if let destinationVC = segue.destinationViewController as? ExampleSegueVC { 
       destinationVC.exampleStringProperty = "Example" 
      } 
     } 
    } 
Powiązane problemy