有一个带有Coredata数据模型的项目。每个类都与Type有关系。类型包含属性'content',以及其他attrs。
可以用关系建模
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的属性ownersClassname。
Super
type -----> Type
content
ownersClassName
DimensionType可能是'length','width','height' ColorType可能是'hex','rgb',cymk' UnitType可能是'mm','cm','inch'等。
元素可能有一对多维度,颜色等。用户不需要输入'mm','rgb',因此需要特定的下拉菜单。并且需要灵活地预测模型中的变化,否则会破坏DBMS。
问题:
当用户添加新的Type时,如何将此OwnerClassName字符串设置为'Unit','Dimension','Color',以便FilterPredicate可以在第一时间过滤...
答案 0 :(得分:0)
您可以在模型类的awakeFromInsert
期间为关系设置默认对象值。
您可以缓存默认值,这样就不会在每次插入时从商店中重新获取对象。