gpt4 book ai didi

Swift - 约束关联类型时出现编译错误

转载 作者:行者123 更新时间:2023-11-30 10:08:03 24 4
gpt4 key购买 nike

所以我不必编写太多代码来复制我的错误 - 在这种情况下我可能应该使用泛型,但感觉我的解决方案应该有效。因此,以下代码块给了我一个“类型 DCServiceClient 不符合协议(protocol) DMServiceClient”:

protocol DMServiceEndpoint { }
protocol DCServiceEndpoint: DMServiceEndpoint { }

protocol DMServiceClient {
typealias Endpoint: DMServiceEndpoint
}

class DCServiceClient: DMServiceClient {
typealias Endpoint = DCServiceEndpoint
}

但是,如果我删除关联类型(端点)的约束,它的编译不会出现任何问题。因为 DCServiceEndpoint 符合约束 (DMServiceEndpoint),所以它似乎应该编译。关于我在这里缺少什么有什么想法吗?谢谢大家!

最佳答案

protocol DMServiceEndpoint { }
protocol DCServiceEndpoint: DMServiceEndpoint { }

protocol DMServiceClient {
typealias Endpoint: DMServiceEndpoint
}
class DCServiceClient: DMServiceClient {
typealias Endpoint = newClass // implementation a class conforms to EndPoint
}
// add new class conforms to DMServiceEndpoint
class newClass: DCServiceEndpoint {}

关于Swift - 约束关联类型时出现编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34913660/

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