微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift 协议protocol

<style></style>

/*

 定义协议时候,协议后面最好跟上class

 delegate的属性最好用weak,用于防止循环引用

 */

protocol BuyTicketDelegate : class{

    func buyTicket()

}

 

class Person22{

    weak var delegate:BuyTicketDelegate?

    

    func gotoBeiJing() {

        delegate?.buyTicket()

    }

}

 

 

/*

 定义可选类型的协议

 optional属于OC特性,如果协议中油可选的方法,那么必须在protocol前面加上@objc,也需要在optional前面加上@objc

 */

@objc protocol TestProtocol{

    @objc optional func test()

}

 

class Dog:TestProtocol{

    

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐