2017-02-15 50 views
0

私のコアデータモデルでは多対多の関係があり、リンクコンテナにいくつかの重複リンクを追加する必要があります。リンクコンテナのタイプがNSSetであることがわかります@NSManaged public var linkContainer: NSSet?このタイプをリンクの配列に変更できますか?タイプを@NSManaged public var linkContainer: Array<Link>?に変更すると、このエラーが発生します Unacceptable type of value for to-many relationship: property = "linkContainer"... このコンテナに重複するリンクを追加するのは本当ですか?または私はNSSetで使用されたリンクのいくつかのカウントを追加できますか? 私もNSCountedSetを試みたが、何もswift「多人数の関係に重複するリンク」は本当ですか?

@NSManaged public var linkContainer: NSCountedSet?

public func addTo(link: link) { 
    self.linkContainer?.add(link) 
} 

を作業していないし、その後、はい、それは本当であるlinkContainer.count(for: link)

答えて

1

で呼び出している - の関係はセットではなく、配列です。これは、コアデータの「制限」です。あなたは間違った問題を考えているという印としてそれを取るべきです。

他のオブジェクトと何度も関係しているオブジェクトは、アプリのコンテキストで何度も意味しますか?その状態を別のエンティティとして表現するか、データを異なる方法でモデル化するのは意味がありますか?モデル化しようとしているシステムに関する特定の情報がないと、指針を与えるのは難しいです。

たとえば、顧客があるモデルがある場合< < - >> Productここで、その関係は顧客が製品を注文したことを表します。しかし、お客様は、お客様がモデルを変更して複数回商品を注文することができることを認識しており、モデル化しようとしている状況をより正確に反映する顧客< - >> Order < <->

関連する問題