当我像这样在 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/