gpt4 book ai didi

ios - 扩展符合协议(protocol)的类?

转载 作者:搜寻专家 更新时间:2023-10-31 08:32:22 26 4
gpt4 key购买 nike

如何扩展实现协议(protocol)的类?

类似的东西:

protocol proto {
func hey()
}

和一个符合 proto 的类:

Class MyClass: UIViewController, proto {
func hey() {
print("Hey!")
}
}

然后是该类的扩展,如下所示:

extension UIViewController where Self:proto {
func test() {
print("I'm extended!")
}
}

这样我就可以在 MyClass 中调用 self.test()

谢谢。

最佳答案

您可以只扩展协议(protocol),而不是类型。请尝试以下操作:

protocol proto {
func hey()
}

class MyClass: UIViewController, proto {
func hey() {
print("Hey!")
}

func test2() {
self.test()
}
}

extension proto where Self: UIViewController {
func test() {
print("I'm extended!")
}
}

关于ios - 扩展符合协议(protocol)的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36496706/

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