私はコアデータにそのようなデータ構造を持っています...
ユーザー
アイテム
カテゴリー
ユーザーは、Itemエンティティに対してtoMany関係「FavouriteItems」を持っています。カテゴリには、Itemエンティティに対してtoMany関係「Items」もあります。
ユーザーは、好きなカテゴリからお気に入りのアイテムを選択できます。現在、すべてのアイテムを一覧表示してから、カテゴリを横に表示しています。
私がやりたいのは、選択したカテゴリのすべてのユーザーのお気に入りアイテムを表示することです。
つまり、カテゴリxおよびユーザーyと関係のあるすべてのアイテムを選択します。
私は現在、1つの関係(つまりUser.favouriteItems)を介してすべてのアイテムを取得し、ブロック述語を使用してNSSetをフィルタリングすることによってこれを行っています。
単純なCoreData述語でこれを行うことは可能ですか?
うーん...それについて考えると、この作品のような述語になるでしょう...
[NSPredicate predicateWithFormat:@"interestedUser.id = %@ AND category.id = %@", user.id, category.id];
次に、アイテムエンティティでフェッチリクエストを実行しますか?
それはうまくいくでしょうか?