协议与代理

2016-11-27  本文已影响0人  Grt婷

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.运行结果

上一篇下一篇

猜你喜欢

热点阅读