Ios 当swift 5中没有子项时,Coredata删除父记录

Ios 当swift 5中没有子项时,Coredata删除父记录,ios,swift,core-data,swift5,cascade,Ios,Swift,Core Data,Swift5,Cascade,我有一个专辑数据库(家长)和歌曲信息数据库(儿童)。当没有孩子的时候,我也需要删除一个家长 在这里的图片中,我需要删除AlbumDB当没有SongInfoDB时。换句话说,当我删除所有歌曲时,专辑将自动删除 我检查了一些StackOverflow链接,并尝试了核心数据删除规则。 无效,级联,否认,但这些都不适合我 对此有什么建议吗。谢谢大家! 没有自动方式。如果父对象已删除,则可以自动删除子对象,反之亦然 一个可行的解决方案是创建一个删除歌曲的函数,然后检查唱片集(关系)是否为空,如果为空,还

我有一个专辑数据库(家长)和歌曲信息数据库(儿童)。当没有孩子的时候,我也需要删除一个家长

在这里的图片中,我需要删除AlbumDB当没有SongInfoDB时。换句话说,当我删除所有歌曲时,专辑将自动删除

我检查了一些StackOverflow链接,并尝试了核心数据删除规则。 无效,级联,否认,但这些都不适合我


对此有什么建议吗。谢谢大家!

没有自动方式。如果父对象已删除,则可以自动删除子对象,反之亦然

一个可行的解决方案是创建一个删除歌曲的函数,然后检查唱片集(关系)是否为空,如果为空,还将删除唱片集

差不多

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

谢谢你的回复。在这里,在歌曲中,我应该选择删除规则进行级联吗?是的,您可以这样做,它会在删除相册时删除所有附加的歌曲。是的。我做得很好!谢谢