协议与代理
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()