6.protocol方法 mutating
2018-08-29 本文已影响50人
aofeilin
Swift 的protocol 不仅可以被class类型实现,也适用于struct 和 enum 。因为这个原因,在写给别人用的协议的时需要多考虑是否使用mutating
来修饰方法,比如定义为mutating func myMethod swift 的mutating 关键字修饰方法是为了能在该方法中修改struct 或是enum的变量。
所以你让迷人在写一方法里面写mytating ,别人如果用struct 或者enum 来实现这个协议的话,就不能在方法里面改变自己的变量。
![](https://img.haomeiwen.com/i636362/1a1fbb6a3c115138.png)
![](https://img.haomeiwen.com/i636362/f1fa46e7df20a259.png)