gpt4 book ai didi

swift - 你如何命名 Swift 协议(protocol)中的函数?

转载 作者:行者123 更新时间:2023-11-28 06:06:38 27 4
gpt4 key购买 nike

当我像这样在 Swift 中声明协议(protocol)时,对于网络模块来说:

Protocol MyNetworkProtocol {
func reportError(error: Int) // <-- do you add prefix for this?
}

如何命名协议(protocol)中的函数?你给它加前缀吗?

我问这个是因为如果我按上面所示命名函数,调用者会像:

class MyClass: MyNetworkProtocol {

// some code for MyClass

func reportError(error: Int) {
// some code to handle it
}
}

如果我单独查看MyClass中的代码,reportError不能立即被识别为另一个类的协议(protocol)的实现(除非我在代码中添加一些注释).

我正在考虑这样命名协议(protocol)中的函数:

Protocol MyNetworkProtocol {
func myNetworkProtocol_reportError(error: Int)
}

这样在MyClass中,我可以很快知道它是某个类的协议(protocol)的实现。这是必要的吗?我误解了一些概念吗?

最佳答案

不要那样做。而是将协议(protocol)方法隔离到一个单独的扩展中。

class MyClass {
}

extension MyClass: MyNetworkProtocol {
func reportError(error: Int) {
// some code to handle it
}
}

关于swift - 你如何命名 Swift 协议(protocol)中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48016327/

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