gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:41:37 27 4
gpt4 key购买 nike

我想扩展一些协议(protocol),在编写代码时编译器会抛出错误:请提供方法的实现。但为什么我必须提供协议(protocol)方法的实现呢?这应该在符合此协议(protocol)的类中完成。

extension MyDelegate { 
func addNewMethod() { }
}

protocol MyDelegate {
func myMethod()
}

最佳答案

看起来according to the documentation协议(protocol)扩展的存在只是为了给现有协议(protocol)提供方法的默认实现,因此并非每个使用该协议(protocol)的类都必须实现相同的方法并具有相同的主体,从而节省大量的复制粘贴,有点像 static/class协议(protocol)函数

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

关于ios - 为什么在 iOS Swift 中扩展协议(protocol)时需要提供方法实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35499832/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com