美文网首页
协议与代理

协议与代理

作者: Grt婷 | 来源:发表于2016-11-27 18:07 被阅读0次

    1.定义协议

    protocol GirlProtocal {
        func MDan()
        func happy()
    }
    

    2.创建girl类实现委托代理方实现happy()和MDan()方法

    class Girl : NSObject {
       //保存代理值
       var delegate : GirlProtocal?
       // 购物开始方法
       func shopBegain(){
           //可选绑定,防止没有值程序出错
           if let _ = delegate{
               //调用代理对象的happy()方法
               self.delegate?.happy()
           }
       }
       //购物完毕
       func shopOver(){
           //可选绑定
           if let _ = delegate {
             //调用代理对象的MDan()方法
               self.delegate?.MDan()
           }
       }
    }
    

    3.创建boy类遵守协议并实现协议的中的方法

    class Boy : NSObject ,GirlProtocal //遵守协议{
       func MDan() {//实现协议
           print("买单")
       }
       func happy(){//实现协议
           print("😄")
       }
       //打游戏
       func playGame() {
           print("打游戏")
       }
    }
    

    4.创建类对象并设置girl的代理对象

    //创建Boy类的对象
    var boy:Boy=Boy()
    //创建Girl类的对象
    var girl:Girl=Girl()
    //设置girl的的代理对象为boy
    girl.delegate=boy
    //调用girl的方法
    girl.shopBegain()
    girl.shopOver()
    

    5.运行结果

    相关文章

      网友评论

          本文标题:协议与代理

          本文链接:https://www.haomeiwen.com/subject/jgjnpttx.html