Ios 使用带标识符的展开序列将数据从一个视图控制器传递到另一个视图控制器

Ios 使用带标识符的展开序列将数据从一个视图控制器传递到另一个视图控制器,ios,swift,segue,Ios,Swift,Segue,这是我的密码: 我正在使用户能够从手机中选择图像,然后想要跳回上一个视图控制器,并通过此图像文件 @IBAction func unwindToThisViewController(segue: UIStoryboardSegue) { if (segue.identifier == "unwindToThis") { } } 如果原始视图控制器仍加载在内存中,则可以通过NSNotificationCenter使用NSNotification 在需要数据的视图控制器

这是我的密码: 我正在使用户能够从手机中选择图像,然后想要跳回上一个视图控制器,并通过此图像文件

@IBAction func unwindToThisViewController(segue: UIStoryboardSegue) {

    if (segue.identifier == "unwindToThis") {




    }

}

如果原始视图控制器仍加载在内存中,则可以通过NSNotificationCenter使用NSNotification

在需要数据的视图控制器中,在viewDidLoad中:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "imageReceived:", name: "imageReceived", object: self.videoDeviceInput?.device)
然后将deinit方法添加到同一控制器,这将在不再加载视图控制器时删除观察者

deinit {
NSNotificationCenter.defaultCenter().removeObserver(self, name: "imageReceived", object: nil)
}
仍在同一类中,请创建一个方法来处理通知:

func imageReceived(notification: NSNotification) {
if let image = notification.object as? UIImage {

// Do your image stuff here.

}
}
在创建或获取需要传回的数据的视图控制器中,可以使用以下数据触发通知:

NSNotificationCenter.defaultCenter().postNotificationName("imageReceived", object: yourUIImage)

您可以使用“segue.destinationViewController”访问要访问的视图控制器。然后,您可以将图像文件设置为该视图控制器中的属性。我可以这样做。。你有解决这个问题的办法吗?我将非常感谢当我做你的解决方案时,导航栏消失了。所以我不想这样做。你可能需要让你的放松序列回到导航控制器,而不是视图控制器本身。不。。它将返回到第一个视图控制器。。但我想将数据传递到第二个视图控制器。。第三视图控制器中的展开顺序:/i还有一个选项。。我正在使用navigationController?.popViewControllerAnimated(true),现在如何传递数据。。因为这里的prepareForSegue方法不起作用。如果使用我提供的解决方案,您可以在视图中通知,它将消失。