我正在尝试写一个类和协议的东西。我只想要一种带有明确定义函数的协议或。
protocol ObjectProtocol {
var endpoint: String
}
class Object {
// All subclasses must implement ObjectProtocol
func printAPIEndpoint() { print(endpoint) }
}
这样我就可以轻松定义这样的类:
class User: Object, ObjectProtocol {
var endpoint = "localhost:3000"
}
实现这样的目标的最佳途径是什么?
答案 0 :(得分:0)
具有默认方法实现的协议扩展 可能就是你要找的东西:
protocol ObjectProtocol {
var endpoint: String { get }
}
extension ObjectProtocol {
func printAPIEndpoint() { print(endpoint) }
}
这为所有人定义了默认方法printAPIEndpoint()
符合ObjectProtocol
的类型,比较
"提供默认实施"在Swift参考中的"Protocols"中。
使用示例:
class User: ObjectProtocol {
var endpoint = "localhost:3000"
}
let user = User()
user.printAPIEndpoint()