最近学习了swift,由于用的是swift4,但是手头上只有swift3,书籍往往没有软件更新的快,发现还是有比较多的不同,现在小结一些需要注意的事项
1.协议中约定的属性是可读的时,并非只读的意思,在实现中是可读可写的,但是约定是可读可写,则实现时必须是可读可写的
2协议中可以进行构造方法的声明
3协议可以作为某一个集合的元素类型
var arr:Array<Protocol>
4协议也可以继承
5协议可被类结构遵守,如果只能被类遵守,需要class关键字
如:protocol classProto:class{ ///}
6协议中约定的属性或者方法是可选实现的,需要用@objc 关键定修饰如
@objc protocol ClassProto:class{
@objc optional func log();
}