構造体内の配列に項目を挿入したい。私はクラスの食べ物を持っています
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
「グループは let 定数であり、変更できません」というエラーが表示されます。しかし、私はそれを作ることでそれを解決したと思ったmutating func add(food: Food)
.
groups 配列の正しいセクションに newFood 項目を追加できるようにするにはどうすればよいですか?