swift3.0 协议

swift3.0 协议,第1张

概述//1. 协议的定义protocol SportProtocol{ //默认情况下,协议中的方法都是必须实现的方法 func playBasketball() func playFootball()}//2. 定义类,并且遵守协议class teacher : SportProtocol{ func playFootball() { pri


//1. 协议的定义protocol SportProtocol{    //默认情况下,协议中的方法都是必须实现的方法    func playBasketball()    func playFootball()}//2. 定义类,并且遵守协议class teacher : SportProtocol{    func playFootball() {        print("踢足球")    }        func playBasketball() {        print("打篮球")    }}//3.LJstudent 继承自NSObject,然后遵守的是SportProtocol协议class LJstudent : NSObject,SportProtocol{    func playFootball() {        print("踢足球")    }        func playBasketball() {        print("打篮球")    }}// 4.协议在代理设计模型中的使用/*    定义协议时,协议后面最好跟上:class ,表明这个协议只给类用(否则结构体,枚举类型也可以使用这个协议)    delegate的属性最好用weak,用于防止产生循环引用 */protocol BuyTitcketDelegate: class{    func buyTitcket()}class myPersonClass{      //定义代理属性    weak var delegate:BuyTitcketDelegate?        func goToBeijing()  {                //如果这里的delegate存在的话,才会去执行buyTitcket这个函数,否则就不执行buyTitcket这个函数了        delegate?.buyTitcket()    }}//5. 如何让协议中的方法是可选方法// optional 属于OC 特性,如果协议中有可选的方法,那必须在proctocol前面加上@objc,也需要在optional前面加上@objc@objc protocol TestProtocol{  @objc optional func test()}class Dog : TestProtocol{        //这个方法可以执行,也可以不执行,就变成了可选类型了    func test() {            }}
总结

以上是内存溢出为你收集整理的swift3.0 协议全部内容,希望文章能够帮你解决swift3.0 协议所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061039.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存