要想使swift中定义的协议中方法的实现变为可选的,有两种方法。
第一种,用@objc修饰协议,再在要可选实现的方法前面用optional修饰。但这个有点OC风格,一点都不swift
@objc protocol ExampleProtocol {func method1() //必选optional func method2() //可选}
第二种方法,定义一个协议的扩展extension,在扩展协议中给方法一个默认实现。个人推荐第二种方法。
protocol ExampleProtocol {func method1() //必选func method2() //可选}extension ExampleProtocol {func method2() {}}
