gpt4 book ai didi

struct - Swift - 访问结构

转载 作者:行者123 更新时间:2023-11-28 13:21:48 26 4
gpt4 key购买 nike

如果我有一个这样定义的结构:

struct Cat {
static let Siamese = "Siamese"
static let Tabby = "Tabby"
static let Fluffy = "Fluffy"

static func cat () -> [String] {
return [Siamese, Tabby, Fluffy]
}
}

为什么我不能这样访问它?

var cat:Cat = Cat.Siamese //"NSString" is not a subtype of Cat

最佳答案

您正在尝试将字符串分配给定义为 Cat 的变量。这就是您收到错误的原因。

Cat 结构中的所有静态成员都是字符串,而不是 Cat

此外,您的结构没有任何实际成员。我认为您打算拥有一个名称属性:

struct Cat {
let name: String

static let Siamese = Cat(name: "Siamese")
static let Tabby = Cat(name: "Tabby")
static let Fluffy = Cat(name: "Fluffy")
}

var cat : Cat = Cat.Siamese

使用枚举可能会更好:

enum Cat : String {
case Siamese = "Siamese"
case Tabby = "Tabby"
case Fluffy = "Fluffy"
}

var cat: Cat = .Tabby
println(cat.toRaw()) // "Tabby"

关于struct - Swift - 访问结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24857040/

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