私のモデルには、エンティティ「Filter」とエンティティ「Color」があります。それらの間に2つの「To-Many」関係、「背景」と「前景」が必要です。(つまり、各「フィルター」には、すべて「色」タイプの背景色の配列と前景色の配列が含まれています)。
私には2つの問題があります。まず、関係を設定するとき、「色」の逆は1つの値しか持てません(これは、私が望むことを実行できないことを意味すると思います)。次に、背景のみまたは前景のみをフェッチする述語を作成する方法がわかりません。私は、以下がそれらすべてを一緒にマージしたものを返すと思います(それが機能した場合):
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Color"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"filter == %@", self];
Colorを2つのForegroundエンティティとBackgroundエンティティに変換することでこれを解決しようとしていますが、1つのエンティティが機能しない理由を理解せずに解決したくありません。ここで何かが足りませんか?
注:これは明らかに私には直感的ではありません。この正確な問題に再び遭遇しましたが、今回は述語を使用していなかったため、すぐに問題を見つけることができませんでした。非常によく似た設定でしたが、子を削除しようとすると最初は消えてしまいましたが、アプリを再起動すると何度も再表示されていました。私が連れ去った子供が多ければ多いほど、私はより多くのことになりました。最終的に、同じ子が両方のリレーションシップ配列にあることに気付きました。モデルのグラフィカルバージョンを見ると、リレーションの1つだけに子に接続された矢印がありました。最後に、私は以前にこの問題を抱えていたことを思い出しました!何が起こっているのかよくわかりませんが、奇妙な方法でマージされた2つの子の「配列」は明らかです。