Swift 的protocol 不仅可以被class类型实现,也适用于struct 和 enum 。因为这个原因,在写给别人用的协议的时需要多考虑是否使用mutating
来修饰方法,比如定义为mutating func myMethod swift 的mutating 关键字修饰方法是为了能在该方法中修改struct 或是enum的变量。
所以你让迷人在写一方法里面写mytating ,别人如果用struct 或者enum 来实现这个协议的话,就不能在方法里面改变自己的变量。
75F977D3-B772-41FB-AE3B-C17F8988CCDF.png
FF6D9FCD-B2B5-4714-8C7B-33DDF71CD0BD.png
网友评论