swift 代理传值
2018-09-13 本文已影响0人
勇敢的我2017
场景:A页面跳转到B页面,B页面返回到A页面,(B页面给A页面传值)
B页面逻辑:创建协议,声明变量,传值
A页面逻辑:建立代理关系,实现协议方法
B页面代码:
1、创建协议
@objc protocol passValueDelegate {
func passValue()
func passValue(value:String)
}
2、声明变量
var delegate:passValueDelegate?
3、传值
@IBAction func back(_sender:UIButton) {
delegate?.passValue()
delegate?.passValue(value:passTf.text??"")
self.navigationController?.popViewController(animated:true)
}
A页面代码:
1、继承协议
class FirstViewController:UIViewController,passValueDelegate{
2、建立代理关系
@IBAction func next(_sender:UIButton) {
letsecondVC =SecondViewController()
secondVC.delegate=self
self.navigationController?.pushViewController(secondVC, animated:true)
}
3、 实现协议方法
func passValue(value:String) {
textLabel.text= value
}