[英]does Prepare For Segue work when data send by second view controller
几天前,当我正在学习如何将数据从一个VC发送到另一个VC时,我还是ios开发的新手
override func prepare(for segue: UIStoryboardSegue, sender: self) {
if segue.identifire == "segue1" {
let data = segue.destinetion as! secondViewController
data.labelName = labelFirst.text
}
现在,当从secondVC接收数据时,我也使用了与在Web上看到的几乎相同的代码
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "segue2" {
let secondVC = segue.destination as! secondViewController
secondVC.delegate = self
}
}
所以,任何人都可以快速地解释它为何看起来相同或有什么不同
要将数据从secondVC发送回firstVC,请使用委托。 基于您编写的“ secondVC.delegate = self”行,您已经阅读了有关此的文章,可能仅需要一些其他信息。
在secondVC中,将以下代码放在类范围之外。 例如上面
class secondVC: UIViewController {}
放置在那里的代码是
protocol secondVCDelegate {
func didFinishTask(returnData: String)
}
将以下行放入secondVC的类范围内
var delegate: secondVCDelegate?
然后在firstVC中,通过将secondVCDelegate添加到该类中来继承secondVC委托。 (例如: class firstVC: UIViewController, secondVCDelegate {}
)
然后将功能添加到您的firstVC
func didFinishTask(returnData: String) {
//Do something here with returnData
print(returnData)
}
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.