swift协议

53 阅读1分钟

swift的协议类似于其他语言的接口,类、枚举、结构体都可以遵循协议


    //读写属性

    varname:String{get set}

    //类型方法

    static func method()

    //实例方法

    func method1()

    //可变方法

    mutating func method2()

}

协议可以继承另一个协议

protocol  k:p {

}

从习惯上考虑,在同时存在父类和协议的时候,父类放在最前面

另外也可以用extension扩展写在本类的下面,这样的可读性比较高(推荐)

class viewController : BaseViewController {

}

extension viewController : p {

}

协议也可以作为方法的返回值