协议

作者: nadou23 | 来源:发表于2020-03-22 21:28 被阅读0次

    1.协议总是以var关键字来声明变量属性。声明后面跟了{get set} 就表示可读可写,只跟来{get} 就表示可读的。
    2.1不支持为方法中的参数提供默认值
    2.2 当为类提供构造方法时,实现的类必须在方法前加上 required关键字,而且对于这个类的子类,如果重写类这个构造方法,还得加上override
    2.3 协议可以作为类型,好比oc里面的id<protocol> delegate
    3.通过扩展遵循协议,如果类型已经实现完全实现协议的方法,但没有声明遵循协议,可以通过空扩展体的扩展来遵循协议。就是a: protocalb {}
    4.协议要只能被类遵循,需要在协议冒号后面加class
    5.多个协议的合成是可以作为参数的,用符合(&)相隔
    6.通过is和as检查类型对于协议是否符合遵循。
    7.加optional修饰的属性或者方法,表示可选,可选是用在和oc进行交流时,需要在协议前加@objc

    相关文章

      网友评论

          本文标题:协议

          本文链接:https://www.haomeiwen.com/subject/bpemyhtx.html