簡體   English   中英

Coredata 刪除父記錄 swift 5

[英]Coredata Delete Parent record when there is no children in swift 5

我有一個AlbumDB (父)和SongInfoDB (兒童)。 當沒有孩子時,我也需要刪除父母,這意味着 AlbumDB。

在此處輸入圖像描述

在圖像中,當沒有SongInfoDB 時,我需要刪除 AlbumDB 換句話說,當我刪除所有歌曲時,專輯將自動被刪除。

我檢查了一些 StackOverflow 鏈接並嘗試了核心數據刪除規則。 Nullify,Cascade,Deny,但這些都不適合我!

有沒有這方面的建議。 謝謝你!

沒有自動的方法。 如果父 object 被刪除,您可以自動刪除子代,反之則不行。

一個可能的解決方案是創建一個 function 刪除歌曲,然后檢查專輯(關系)是否為空,如果是,則刪除專輯。

就像是

func deleteSong(_ song : Song) {
    context.delete(song)
    let album = song.album!
    if album.songs.isEmpty {
        context.delete(album)
    }
    context.save()
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM