繁体   English   中英

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

[英]Why do I need to provide method implementation when I extend a protocol in iOS Swift?

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

extension MyDelegate { 
    func addNewMethod() { } 
} 

protocol MyDelegate { 
     func myMethod() 
}

根据文档 ,似乎协议扩展只存在于给现有协议默认的方法实现上,因此,并非每个使用该协议的类都必须实现相同的方法并具有相同的主体,从而为您节省了很多复制粘贴,排序类似于协议的静态/类函数

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM