gpt4 book ai didi

Swift 协议(protocol)一致性

转载 作者:搜寻专家 更新时间:2023-11-01 06:40:23 28 4
gpt4 key购买 nike

我想要一个符合协议(protocol)的变量,但是 swift 编译器告诉我协议(protocol)没有确认。

protocol A {}
protocol B {
var a : A { get }
}
class AA : A {}
// Type 'BB' does not conform to protocol 'B'
class BB : B {
let a = AA()
}

最佳答案

您不符合协议(protocol),因为您的 a 未明确键入为 A,而是推断为 AA。明确说明。

protocol A {}
protocol B {
var a : A { get }
}
class AA : A {}

class BB : B {
let a: A = AA() // Explicitly typed here.
}

您在协议(protocol)中使用了 var 并在实现中使用了 let 的事实是转移注意力,因为 var 是 get只有,并且没有 set

关于Swift 协议(protocol)一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36201429/

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