gpt4 book ai didi

ios - 具有约束的 Swift 协议(protocol)扩展不会使类符合该协议(protocol)

转载 作者:搜寻专家 更新时间:2023-11-01 07:27:32 25 4
gpt4 key购买 nike

我现在正在学习一些使用 Swift 的 P.O.P(面向协议(protocol)编程)。我创建了带有扩展名的协议(protocol):

protocol ActivityIndicable {
func displayActivityIndicator()
func hideActivityIndicator()
}

extension ActivityIndicable where Self: UIViewController {
func dispayActivityIndicator() {
//display
}

func hideActivityIndicator() {
//hide
}
}

现在我有了一些 View Controller ,比如说 MyViewController:

class MyViewController: UIViewController, ActivityIndicable {
}

在编译过程中,我收到警告,指出 MyViewController 不符合协议(protocol) ActivityIndi​​cable。你能解释一下这是为什么吗?它应该“使用”受限于 UIViewController 的扩展,不是吗?

最佳答案

这是一个简单的错字:

func dispayActivityIndicator() {

您在“显示”中删除了“l”。

但是你应该得到一个更具体的警告:

注意:协议(protocol)需要类型为“() -> ()”的函数“displayActivityIndi​​cator()”

如果不是,则可能表明您有其他错误。

关于ios - 具有约束的 Swift 协议(protocol)扩展不会使类符合该协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34977030/

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