🪵
SwiftData の Delete Rule 確認用アプリを作りました
SwiftDataのDelete Ruleを確認するために作りました。
画面

使い方 アプリ使用者目線
接続が画面上部に図で書かれています。
消したい要素の消去ボタンをタップしてください。
無事消えたり、エラーになって実行が止まったりします。
接続の表示/非表示を切り替えることによってエラーのタイミングを調べられます。
使い方 コード編集目線
使い方は少し面倒なのですが
- 接続のパターン
1:11:多多:多 - Delete Rule
.cascadeなど
を直接ソースの中に書き込んでください。
接続のパターンを書く場所
ContentView.swift の頭
typealias ModelL = ModelOneOneUnidirL
typealias ModelR = ModelOneOneUnidirR
Delete Rule を書く場所
それぞれのクラスの接続先を宣言しているところ
@Relationship(deleteRule: .cascade) var r: ModelOneOneUnidirR?
「接続を表示/隠す」について
消えている接続先にアクセスするとエラーが起きる。
接続先を常に表示している場合、消した瞬間にエラーになる。しかし、実際はアクセスしたときにエラーが出るので
- 消す
- アクセスする
の時間をずらして行うと原因がわかりやすい。
接続の表示/非表示が切り替えられるようにする。
.denyについて
.deny はどういう使い方をするかいまいちわかっていない。
意見募集
意見などはコメント欄にお願いします。
Discussion