0

プログラムでアプリに Core Data を設定していて、「問題」に遭遇しました (正確には問題ではありませんが、誰かがそれを回避する良い方法を見つけたかどうか疑問に思っていました)。

私は基本クラスFormElement(を拡張NSManagedObject)を持っています。次に、これをさまざまなフォーム タイプにTextFieldFormElement拡張しTextAreaFormElementます。ファイルに関する情報を格納するクラス (を拡張する) もあります。と多対多の関係がありますが、そうではありません。SwitchFormElementFormElementFileAssetNSManagedObjectTextFieldFormElementTextAreaFormElementFileAssetSwitchFormElement

の逆の関係を送信する必要がないこと、または と関係を持つことができるそれぞれの逆としてFileAsset複数のプロパティを設定できることを理解しています(例:など)。FileAssetFormElementFileAssetFileAsset.textFieldElementFileAsset.textAreaElement

私の質問は次のとおりです。特定のタイプの管理対象オブジェクトとの逆の関係を許可するための実行可能な解決策を見つけた人はいますか? 私が本当にやりたいことは、FileAsset(たとえば) に 1 つのプロパティを持ち、それが任意の型のオブジェクト (つまり、 を拡張するFileAsset.element任意のオブジェクト) を取ることですか?FormElementFormElement

プログラム的には、これを達成するための明白な方法はわかりません:
TextFieldFormElement >(1対多)> FileAsset
TextAreaFormElement >(1対多)> FileAsset
FileAsset >(1対1)> FormElement

以前にこのような問題に遭遇し、適切な解決策を見つけた人はいますか? 私の他のオプションはFormElement、フォーム要素のすべての可能なプロパティを単純に包含し、拡張をやめることだと思いますFormElement

どうもありがとう!

4

1 に答える 1