gpt4 book ai didi

swift - 使用 swift 类追加到字典

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

我将如何使用与类相关的函数创建一个简单的字典附件?

字典的格式应类似于 [String: (String, String)]

class Fruit {
let name: String
let description: String
let price: Int
var fruits: [Fruit] = [name: (description, price)]

init(name: String, description: String, cost: Int) {
self.name = name
self.description = description
self.price = price
}
func addFruit() {
fruits.append(Fruit:)
}

}

最佳答案

在您的代码中,您声明了一个数组(而不是字典)。要将水果存储在您指定结构的字典中,请尝试以下操作:

var fruits: [String: (description: String, price: String)] = [:]

func addFruit() {
fruits["Banana"] = (description: "A tropical fruit, price: "0.65")
}

fruits 变量是一个字典,键类型为 String,值类型为 (description: String, Price: String) ,一个包含两个命名 String 字段的元组(请注意,名称是可选的)。

请注意字典键和值元组如何封装 Fruit 类的所有属性。事实上,这里根本没有使用 Fruit 类。除非您计划向 Fruit 类添加一些方法或计算属性,否则出于您的目的,使用此字典结构可能是更好的方法。

与其他一些语言不同,Swift 中并非所有内容都需要封装在类中;对于具有一些属性的简单水果类型,元组可能就足够了。 Swift 提供了多种封装相同数据的方法。

例如,您还可以使用数组而不是字典,并向元组添加名称字段:

var fruits: [(name: String, description: String, price: String)] = []

func addFruit() {
fruits.append(
(name: "Banana", description: "A tropical fruit", price: "0.65")
)
}

此外,您可以将此元组声明为其自己的类型以方便使用:

typealias Fruit = (name: String, description: String, price: String)

var fruits: [Fruit]

...

关于swift - 使用 swift 类追加到字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55133404/

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