继承实体中关系的核心数据问题

时间:2019-02-14 04:39:50

标签: ios objective-c swift core-data

我有一个抽象实体:附件,它具有2个简单属性(UUID和字符串)

Attachment {
    id: UUID,
    type: String
}

和两个继承模型:FileAttachment和MessageAttachment。

文件附件具有一个简单的属性链接。

FileAttachment -> Attachment {
   link: URI
}

邮件附件具有一个简单的属性文本和与附件附件的许多关系。

MessageAttachment -> Attachment {
     text: String
     attachments: [Attachment]
}

当我尝试保存文件附件模型时,它会正确保存。 当我尝试保存邮件附件模型时,大多数情况下它保存不正确。 但是在调用邮件附件的context.save对象之前,它具有正确的数据,而在保存之后,它大部分已破坏了数据。 但是,如果我将关系附件从“邮件附件”移动到“附件”(摘要和父实体),则保存总是可以的。 当我查看已使用核心数据创建的数据库时,发现索引列(例如zattachment)中的ID不正确。

也许听起来很奇怪,但是当我遇到类似情况时,我总是将所有关系从继承实体转移到父实体,然后保存就可以了。

也许您可以解释这个问题?还是我会犯错误?

0 个答案:

没有答案
相关问题