为什么在iOS Swift中扩展协议时需要提供方法实现?

时间:2016-02-19 07:34:48

标签: ios swift

我想扩展一些协议,而编写代码编译器会抛出错误:please provide implementation of method。但为什么我必须提供协议方法的实现?这应该在符合该协议的类中完成。

extension MyDelegate { 
    func addNewMethod() { } 
} 

protocol MyDelegate { 
     func myMethod() 
}

1 个答案:

答案 0 :(得分:0)

似乎according to the documentation协议扩展仅存在给现有协议默认的方法实现,因此并非每个使用该协议的类都必须实现相同的方法并具有相同的主体,从而节省了大量的复制粘贴,有点像协议的静态/类函数

听起来你不想要扩展,而是原始协议中的可选功能