如何在视图中更新结构的值

在SwiftUI中,我有一个想要保存View数据的结构。假设有一个用户可以在其中创建配方的视图。它具有用于输入配方名称的文本字段,以及用于选择并添加到结构属性中的数组的选项。

我设法制作了该结构并将其引入View中,但无法更改其值。应该根据用户在View上执行的操作以及他们向其添加的信息来更新struct的值。 我做了一个简单的视图,将在TextField中输入的任何内容都添加到该结构的属性之一中。 对于以下代码,我得到无法分配给属性:'self'是不可变的

struct Recipe: Codable {
let user: Int
var recipeName, createdDate: String
let ingredients: [Ingredient]
let equipment: [[Int]]

enum CodingKeys: String, CodingKey {
    case user = "User"
    case recipeName = "RecipeName"
    case createdDate
    case ingredients = "Ingredients"
    case equipment = "Equipment"
 }
}

struct Ingredient: Codable {
   let ingredient, size: Int
}

视图:

struct ContentView: View {
    var recipe = Recipe(user: 1231, recipeName: "Recipe Name", createdDate: "SomeDate", ingredients: [Ingredient(ingredient: 1, size: 2)], equipment: [[1],[4],[5]])


    var body: some View {
        VStack {
            Text(self.recipe.recipeName)
            Button(action: {
                recipe.recipeName = "New Name" //Cannot assign to property: 'self' is immutable
            }) {
                Text("Change Name")
            }
        }
    }
}

关于如何解决此问题的任何想法,以便我可以与该结构进行交互并更新其属性。我还将在其他视图中使用此struct变量。

提前致谢