質問: [Product]() var body: some View { //〜省略 //〜 if self.product.quantity > 0 { addSelectedProductsArray(product: product) //selectedProducts.append(product) エラー //mutating にするためわざわざ関数を作ってみる↓↓↓ } } } mutating func addSelectedProductsArray(product:Product){ selectedProducts.append(product) } } //struct ProductCell_Previews: PreviewProvider { // static var previews: some View { // ProductCell(product: Product) // } //} ```
回答: @Stateをつけるとビルドできるようになると思います。値の変更も可能です。 `@State var selectedProducts = [Product]()` ただ、@ObservedObjectで渡してきた`product`を溜めていくというのは、困難の多いやり方になりそうな予感がします。 SwiftUIではUI側はモデルの描画に専念するべきなので、表示するべきリストの追加や削除はモデル側で処理するべきです。UIは単にリストを受け取って描画するだけにしないと、いろいろうまくいかなくて困る場面が出てくると思います。