swipeActionsでのBool値のアトリビュートの変更

実現したいこと

CoreDataのBoolの値のアトリビュートの変更をswipeActionsで行いたいのですが、Buttonに記述する際に変数のIndexSetをどのようにすればいいでしょうか?

swift

12func dustItems(offsets: IndexSet, array: [Item]) {3 withAnimation {4 offsets.map{ array[$0] }.forEach{($0.isCheck = true)}5 6 do {7 try viewContext.save()8 } catch {9 let nsError = error as NSError10 fatalError("Unresolved error \(nsError), \(nsError.userInfo)")11 }12 }13 }14 15// 216 17func dustItems(array: [Item]) {18 withAnimation {19 array.forEach{($0.isCheck = true)}20 21 do {22 try viewContext.save()23 } catch {24 let nsError = error as NSError25 fatalError("Unresolved error \(nsError), \(nsError.userInfo)")26 }27 }28 }29 30// func 31 32.swipeActions(edge: .trailing) {33 Button(action: dustItems(offsets: array[index], array: array)) {Text("テキスト")}34} 35 36// error message 37 38Cannot convert value of type 'FetchedResults<Item>' to expected argument type '(Item) throws -> Void'39 40// 41 42.swipeActions(edge: .trailing) {43 Button(action: {index.isDust = true}}44} 45

ともしました。

補足情報(FW/ツールのバージョンなど)

Xcode 14.2

コメントを投稿

0 コメント