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

    }

上一篇下一篇

猜你喜欢

热点阅读