実現したいこと
現在、iOSアプリの開発にSwiftDataを用いています。
削除メソッドを作成したのですが、削除がされていないようなので、SwiftDataの削除処理について教えていただきたいです。
発生している問題・分からないこと
下記が現在のソースコードになります。
該当のソースコード
Swift
1import SwiftUI 2import SwiftData 3 4@Model 5final class ColorData { 6 @Attribute(.unique) var code: String 7 var name: String 8 var r: Int 9 var g: Int 10 var b: Int 11 var h: Int 12 var s: Int 13 var v: Int 14 var like: Bool 15 16 init(code: String, name: String, r: Int, g: Int, b: Int, h: Int, s: Int, v: Int, like: Bool) { 17 self.code = code 18 self.name = name 19 self.r = r 20 self.g = g 21 self.b = b 22 self.h = h 23 self.s = s 24 self.v = v 25 self.like = like 26 } 27}
Swift
1@Query private var colors: [ColorData] 2 3private func allDelete() { 4 for color in colors { 5 context.delete(color) 6 } 7 do { 8 try context.save() 9 } catch { 10 print(error.localizedDescription) 11 } 12}
Swift
1private func delete(code: String, name: String, r: Int, g: Int, b: Int, h: Int, s: Int, v: Int, like: Bool) { 2 let data = ColorData(code: code, name: name, r: r, g: g, b: b, h: h, s: s, v: v, like: like) 3 context.delete(data) 4 do { 5 try context.save() 6 } catch { 7 print(error.localizedDescription) 8 } 9}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
上記ソースコードのallDeleteは機能しているようで、全てのColorDataが削除されます。
ただ、deleteの方は削除がされていないように見えます。
削除の仕方がどこかおかしいのでしょうか?
補足
特になし
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/04/26 05:05