10.27代理-协议

//三个文件


//main.swift

importFoundation

//代理(保姆:ta能帮你去做一些事情)-协议(保姆能帮你做的事情:洗碗,洗衣服,拖地,带小孩)

//仆人

letwaiter =classA()

//主人

letleader =classB()

//主人找了一个仆人

//只要设置了代理,就要遵守协议

leader.delegate=waiter

lettime ="凌晨"

iftime=="凌晨"{

//谁的代理去做某一件事情

leader.delegate?.careBaby()

}

iftime=="中午"{

leader.delegate?.washClose()

}


//classB.swift 主人

importFoundation

//协议:

/*

protocal协议名{

}

*/

protocolHouseWork{

//代理(仆人能够为主人做的事情),只写方法名(具体的实现听主人)

funcwashClose()

funccareBaby()

}

//classB是主人的身份

classclassB:NSObject{

//定义一个代理:需要的一个仆人,这个仆人要做的事情

//格式:var delegate:协议名?

vardelegate:HouseWork?

}


//classA.swift  仆人

importFoundation

//classA是仆人的身份

classclassA:NSObject{

}

//遵守协议,并实现协议里面的方法

/*格式:

extension本类名:协议名{

实现协议里面的方法

}

*/

extensionclassA:HouseWork{

funcwashClose() {

println("手洗")

}

funccareBaby() {

println("认真对待")

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • //三个文件 //main.swift: importFoundation //代理(保姆:ta能帮你去做一些事情...
    冰凡513阅读 372评论 0 0
  • OC协议&代理 本文为个人学习思考总结,发表目的是为了获得批评指正,交流想法。 /***************手...
    卡普呆萌阅读 1,869评论 0 2
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,865评论 0 6
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • import Foundation //类:具有相同特征和行为的事物的抽象 //根据类创建的实例就是:对象 //类...
    摇耳朵的小布丁i阅读 242评论 0 0