通过展开顺序传递数据

我一直在寻找这样的答案…我不知道如何通过一个unwind segue传递数据。 我知道我应该使用prepareForSegue但我不知道我应该把什么。我想从一个类的UIPickerView传递variables(myLabel):

 func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { myLabel.text = pickerData[row] } 

到另一个class级。 我已经放开了segue代码,但不知道把prepareForSegue放在哪里以及如何放置它。

让我知道如果我的问题需要更多的澄清。

如果我正确理解你的问题,你应该做这样的事情:

 class MyPickerController : UIViewController { @IBOutlet weak var myLabel: UILabel! var pickerData:[String] func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { myLabel.text = pickerData[row] performSegueWithIdentifier( "mySegueName", sender: self ) } func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if let myController = segue.destinationController as? MyDestinationViewController { myController.text = myLabel.text } } 

这会将标签文本传递给MyDestinationViewController实例。 请注意,我不通过UILabel对象,但文本。 例如,您不能将该UILabel对象放置在目标控制器界面中,但可以使用文本和其他标签。

prepareForSegue在视图控制器的类中被调用,您将从之前被推送或呈现的视图控制器(现在被popup或取消)展开。 segue的目标视图控制器是作为结果出现的视图控制器。