在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
上一篇我们介绍了页面转跳:【swift学习笔记】一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字,回传到父页面。 我是使用protocol去实现的回传。那让我们来创建一个protocol import Foundation
protocol ValueBackDelegate {
func ValueBack(value: String)
}
protocol可以理解为interface,ValueBack方法就是回传的数据。我们要去找一个类去实现他 就我们的第一个页面,ViewController class ViewController: UIViewController , ValueBackDelegate 还要实现protocol的方法,我们让textfield去接收回传过来的数据。 func ValueBack(value: String) { teName.text! = value }
页面2我们要来一个protocol属性,在返回的时候,我们把传过来的值加上“回传”两个字 并返回到页面1 var valueBackDelegate: ValueBackDelegate? @IBAction func backToParent(sender: AnyObject) { if let a = valueBackDelegate { a.ValueBack(receiveName.text! + "回传") } self.dismissViewControllerAnimated(true, completion: nil) }
再回到我们的页面1,我们要把实现了protocol的页面1传给页面2的valueBackDelegate override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "openView" { if let secondView = segue.destinationViewController as? SecondViewController { secondView.receivedStr = teName.text! secondView.valueBackDelegate = self } } } 到这就全部ok,很简单吧。 完整代码:数据回传.zip
本文转自lpxxn博客园博客,原文链接:http://www.cnblogs.com/li-peng/p/5531370.html,如需转载请自行联系原作者 |
请发表评论