gpt4 book ai didi

xcode - 字典在结构 SWIFT 中不起作用

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

为什么这不起作用!?

struct ChocolateBox {
var caramelDelight = []
caramelDelight["flavor"] = "caramel"
}

我在没有结构的情况下尝试了这个,仍然不起作用:

var caramelDelight = []
caramelDelight["flavor"] = "caramel"

我必须将初始值添加到数组中才能工作,例如:

var caramelDelight = ["test":"test"]
caramelDelight["flavor"] = "caramel"

请解释。

最佳答案

您的 var caramelDelight = [] 不会创建空字典。

要创建空字典,请使用 [:]() 并指定键和值的类型,例如:var caramelDelight = [String:String]() .

还有这种替代语法:var caramelDelight: [String:String] = [:]

另外,要修改结构中的 var,您需要先创建该结构的一个实例:

struct ChocolateBox {
var caramelDelight = [String:String]()
}

var cb = ChocolateBox()
cb.caramelDelight["flavor"] = "caramel"

println(cb.caramelDelight) // [flavor: caramel]

更新:

如果您需要预填充字典,您还可以为您的结构创建一个初始值设定项:

struct ChocolateBox {
var caramelDelight: [String:String]
init(dict: [String:String]) {
self.caramelDelight = dict
}
}

var cb = ChocolateBox(dict: ["flavor": "caramel"])

当然你可以照常更新字典:

cb.caramelDelight["color"] = "brown"

println(cb.caramelDelight) // [color: brown, flavor: caramel]

关于xcode - 字典在结构 SWIFT 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31747566/

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