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
FilterPredicate を介して属性 ownerClassname など、一致する文字列が属性に含まれる nsmanagedobjects のサブセットを取得するのは簡単に思えます。
Super
type -----> Type
content
ownersClassName
DimensionType は「length」、「width」、「height」の場合があります。ColorType は「hex」、「rgb」、「cymk」の場合があります。UnitType は「mm」、「cm」、「inch」などの場合があります。
要素には、1 つから複数の寸法、色などがある場合があります。また、ユーザーは「mm」、「rgb」と入力する必要がないため、特定のドロップダウン セッターが必要です。また、DBMS を破壊するようなモデルの変更を柔軟に予測する必要があります。
問題:
FilterPredicate が最初にフィルタリングできるように、ユーザーが新しいタイプを追加するときに、この ownerClassName 文字列を「Unit」、「Dimension」、「Color」に設定するにはどうすればよいですか...