1

我正在开发一个使用核心数据的 iphone 应用程序。数据包括大量人员。每个人都会有某些相同的属性。名字,姓氏,年龄等等。然后将这些人分为几类。我遇到不同类别的人的问题将具有不同的属性。

例如

人 A 将属于 A 类,并具有属性 a、b、c

人 B 将属于 B 类,并将具有属性 b、c、d

人 C 将属于类别 b 和 c,并将具有属性 c、d、e

我想拥有实体人

实体类别

实体personattributes 将存储所有一次的属性,不适用于此人将只是空。

在代码中,我会知道该人是否属于 a 类,他将只有属性 a、b、c

这会是一个好的设计,还是我需要为每个类别设置一个单独的属性实体

提前致谢!

4

2 回答 2

1

那么每个类别都有自己的一组属性吗?创建一个 CategoryAttributeSet 类可能是有意义的,它可以作为 CategoryAttributeSetA、CategoryAttributeSetB 等的基础......名字、姓氏和所有 Person 共有的所有属性都可以是 Person 类的实例数据,然后可以通过让每个 Person 维护一个 CategoryAttributeSet 类型的数组来存储依赖于类别的属性,其中属性集对应于 Person 所属的每个 Category。

只是一个建议。

于 2012-05-17T15:21:35.473 回答
1

在没有其他设计考虑的情况下,我将使用单个 Person 实体,具有类别的属性以及属性 a、b、c、d 和 e。

如果您想更进一步并要求不支持的属性为零,我会查看属性验证。实现validateA:error:根据对象的类别返回 YES 或 NO,依此类推。

于 2012-05-17T16:59:19.593 回答