核心数据动态实体

时间:2011-02-12 01:10:15

标签: objective-c cocoa core-data dynamic-schema

我希望能够基于将在另一个实体中定义的属性创建动态实体。例如:

实体:生命形式     属性 - >名称:字符串

实体:LifeformCharacteristics     属性 - >名称:字符串     属性 - >类型:字符串

实体:DynamicCatalog

因此,特征实体将是将由用户添加的任何内容填充的实体。示例特征可以是名称:高度类型:数字。所以这些特征定义了我想要的动态目录。因此,应使用属性Height创建DynamicCatalog。

DynamicCatalogs也必须在表格中可见,以便用户可以在目录中添加和删除项目。

我可以通过我的DataModel构建和管理前2个实体,但第3个是动态的,我不知道如何去做。我希望使用核心数据来将管理数据的麻烦降到最低。

这篇文章是我找到答案的最接近的帖子,但我现在不确定要显示或重新组织这样的集合:Faking a dynamic schema in Core Data?

1 个答案:

答案 0 :(得分:0)

为什么会给自己带来这么多麻烦?

考虑在Core Data中创建DynamicCatalog类型,其中“to many”关系称为“DynamicCatalogValue”,或者某个名称会响起语义铃声。在“值”上创建允许用户描述的属性。例如(伪):

DynamicValue:
Attribute: userGivenName;
Attribute: userGivenValue;
Attribute: valueType; (e.g. String, Date, etc.)