Swift中的观察者(通过协议)

(一)要创建一个协议,写在class之前(类似于监听接口)

protocol FTVCdelegte : NSObjectProtocol{
    //在协议里面,声明许多方法
    // 第一个,改变标题
    func change(title:String)
    //第二个,改变背景色
    func ChangeColoer (Coloer:UIColor)
    //是否成功的标志
    func ChangSucces(YON:Bool)
}

(二)创建一个遵守协议的对象,写在定义属性处。(协议属性对象)

var delegate_zsj:FTVCdelegte? //比如这个在下一个界面,作为属性

(三)点击返回,传递参数(被观察者)

  func backBtnAction() {
            delegate_zsj?.change(title: "首页") //协议中的方法
            delegate_zsj?.ChangeColoer(Coloer: UIColor.red)//协议中的方法
            delegate_zsj?.ChangSucces(YON: true)//协议中的方法
            self.navigationController?.popViewController(animated: true)//返回上一界面
        }

(四)实现代理:(类似于观察者)

class ViewController: UIViewController,FTVCdelegte{
    //(五)实现协议方法:必须全部实现
   //更改主题名字
    func change(title: String) {
        self.title = title
        self.bbb = title
    }
    
    func ChangeColoer(Coloer: UIColor) {
        self.view.backgroundColor = Coloer
    }
    
    func ChangSucces(YON: Bool) {
        print(YON)
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值