0

有一个带有 Coredata 数据模型的项目。每个类都与 Type 有关系。类型包含属性“内容”,以及其他属性。

它可以用这样的关系来建模

Element
  dimensions
  colors
  ...

Colors
    type----->ColorType
                content

Dimension
   quantity
   unit
   type ----->DimensionType
               content
Unit
   type ----->UnitType
               content

...

ObjectX
   type ----->TypeX
               content

而不是有很多类型,我更喜欢以下

Super
 type -----> Type
              content


Unit isa Super
Dimension isa Super
...
ObjectX isa Super

检索 nsmanagedobjects 的子集似乎很简单,其中属性包含匹配的字符串,例如通过 FilterPredicate 的属性 ownerClassname。

Super
 type -----> Type
              content
              ownersClassName

DimensionType 可能是 'length'、'width'、'height' ColorType 可能是 'hex'、'rgb'、cymk' UnitType 可能是 'mm'、'cm'、'inch' 等。

元素可能有一对多的尺寸、颜色等。用户不需要输入“mm”、“rgb”,因此需要特定的下拉设置器。并且需要灵活地预测模型的变化,否则会破坏 DBMS。

问题:

当用户添加新类型时,如何将此 ownerClassName 字符串设置为“Unit”、“Dimension”、“Color”,以便 FilterPredicate 可以首先过滤...

4

1 回答 1

0

awakeFromInsert您在模型类期间为关系设置默认对象值。

您可以缓存默认值,这样您就不会在每次插入时从存储中重新获取对象。

于 2013-04-03T20:56:14.990 回答