抽象实体的核心数据通用属性类型

Posted

技术标签:

【中文标题】抽象实体的核心数据通用属性类型【英文标题】:Core Data generic attribute type for abstract entity 【发布时间】:2013-06-21 12:20:24 【问题描述】:

我有一个抽象的父实体 Datapoint 具有许多属性,以及 3 个子实体 BinaryPointFloatPointScalePoint。每个孩子都应该有一个value 属性,但类型不同(分别为bool、float 和int)。

除了使其成为继承属性之外,做任何其他事情似乎都是糟糕的设计,但我找不到这样做的方法。有什么方法可以使属性在父实体中通用但在其子实体中不通用?

提前致谢。

【问题讨论】:

“通用”属性是什么意思?如果我理解得很好,您希望父“Datapoint”具有称为“value”的“id”属性,但“BinaryPoint”必须将其定义为二进制值,“ScalePoint”定义为标量,“FloatPoint”定义为浮动,对吧? 【参考方案1】:

在核心数据模型编辑器 AFASIK 中无法执行您想要执行的操作。您需要选择一种属性,例如二进制数据,并在代码中自己处理从 NSData 到实际值的转换,反之亦然。

【讨论】:

以上是关于抽象实体的核心数据通用属性类型的主要内容,如果未能解决你的问题,请参考以下文章

如何在实体框架模型中使用通用导航属性?

NSPredicate 不适用于核心数据中的抽象实体属性

核心数据:根据实体类型对抽象实体的结果进行排序

spring jpa之实体属性类型转换器AttributeConverter,自定义Converter,通用Converter

从不同核心数据实体获取数据并将结果转换为相应类的通用方法

Xcode Core Data 替代关系而不是通用类型的逆向关系