我想将一个项目插入到结构中的数组中。我有一堂食物
class Food {
var name: String
var category: String
}
它已被初始化。我创建了一个结构来将不同的食物组合成组,并将该结构放在一个数组中。
struct Group {
var title: String
var foods: [Food]
mutating func add(food: Food) {
foods.append(food)
}
var groups = [Group]()
两个变量都已初始化,但是变异函数似乎不起作用。当我尝试像这样添加新的食物时:
let newFood = Food(name: "Banana", category: "Fruit")
let foodType = newFood.category
for group in groups {
if foodType == group.title {
// this is what isn't working
group.add(food: newFood)
} else {
let tempGroup = Group(title: foodType, foods: [newFood])
groups.append(tempGroup)
}
//this is what isn't working
我在“组是一个让常量并且不能被变异”的评论下直接收到一个错误。但我想我通过制作解决了这个问题mutating func add(food: Food)
。
我该怎么做才能将 newFood 项目附加到组数组中的正确部分?