2016-02-14 8 views
6

में performSegueWithIdentifier का उपयोग कर एक सेग्यू करने के दौरान पैरामीटर कैसे पास करें I प्रोग्रामिंग के रूप में एक सेग्यू कॉल कर रहा हूं, क्या कोई मेरी मदद कर सकता है कि पैरामीटर कैसे पास कर सकते हैं?स्विफ्ट

@IBAction func update(sender: AnyObject) { 

    self.performSegueWithIdentifier("showUpdate", sender: nil) 
} 
+0

जहां के पास पैरामीटर? – luk2302

+0

@ luk2302 गंतव्य segue के लिए –

उत्तर

3

सीगू के लिए तैयार डेटा के साथ डेटा पास कर सकते हैं।

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

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

     } 
} 
6

performSegueWithIdentifier विधि दो तर्क, 1. segue पहचानकर्ता, 2. पैरामीटर आप गुजर रहे हैं के प्रकार के AnyObject है जो लेता है?

@IBAction func update(sender: AnyObject) { 

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

फिर prepareForSegue विधि में, आप segue पहचानकर्ता की जाँच करें और प्रकार आप पहले में पारित करने के लिए इस पैरामीटर डाली।

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" 
      } 
     } 
    }