繁体   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