我曾多次使用CoreData,但数据建模非常简单。这次我应该实现以下内容:
我不确定如何在CoreData中表达这一点。有人可以帮忙吗? 现在我想到:
“Child”实体,其中“Title”“Description”作为属性,“Children”作为关系(一对多)。 “文件”实体,“IsFolder”作为布尔属性,“Documents”作为关系(一对多,指向“Child”)
我不确定这是否在CoreData中实现了上述结构。 我走在正确的道路上?在CoreData中重新建模数据结构可能很痛苦(我听说过)所以我希望从一开始就有一个好的结构。我希望我能从你那里得到一些建议;)
提前致谢。
答案 0 :(得分:2)
你可能想要这样的东西(伪代码):
Folder{
parent<<--(required,nullify)-->Folder.folders
folders<--(optional,cascade)-->>Folder.parent
documents<--(optional,cascade)-->>Document.folder
}
Document{
title:string
descriptionText:string
parent<<--(optional,nullify)-->Document.children
children<--(optional,cascade)-->>Document.parent
folder<<--(optional,nullify)-->Folder.document
}
(警告:不要使用“description”作为属性名.NSObject有一个description
方法,因此NSObject的每个子类都会响应description
消息。它会导致所有类型如果您有一个同名的属性访问器,则会出现难看的问题。)