gpt4 book ai didi

swift - 符合存储属性协议(protocol)的枚举

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

我正在关注 Swift Tour他们有这个协议(protocol)示例

protocol ExampleProtocol {
var simpleDescription: String { get }
mutating func adjust()
}

那么练习就是

Write an enumeration that conforms to this protocol.

如果我让 Xcode 对枚举进行 stub ,它会这样做

enum SimpleEnum: ExampleProtocol {
var simpleDescription: String
func adjust() {
}
case foo
}

然后它给了我错误“枚举可能不包含存储的属性”。如果我删除该属性,它会给我错误消息“type 'SimpleEnum' does not conform to protocol 'ExampleProtocol'”。

我今天才开始学习 Swift,所以我不知道正确的方法是什么。

最佳答案

好的,所以您得到的错误是因为必须计算所有属性。因此,在您的简单示例中,您可以执行以下操作:

enum SimpleEnum: ExampleProtocol {
case foo, bar

var simpleDescription: String {
switch self {
case .foo: return "Foo"
case .bar: return "Bar"
}
}

func adjust() {

}

}

关于swift - 符合存储属性协议(protocol)的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47583151/

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