0

私は2つのコレクションを持っています:

- Post
- Comment

Post.comments = [comment1, comment2, ...]

comment.removedブール値です。

すべての投稿を取得したいのですcommentsが、削除されたものは除外します。OneToMany 関係を反復せずにそれを行う方法はありますか?

これが私が試したものです:

ANY comments.removed == FALSE  // Posts that have at least one removed comment
ALL comments.removed == FALSE  // Posts that only have unremoved comments
(SUBQUERY(comments, $x, $x.removed == FALSE).@count > 0) // Same as the first one
4

2 に答える 2

0

CD から「削除された」コメントを取得したくない理由を説明することは価値があるかもしれません。それらを使用するときにプログラムで非常に簡単に除外できるからです。ボリュームがパフォーマンスの負担になるほど大きいか?

いずれにせよ、各コメント コレクションにバインドされた , を順番に作成することは可能NSArrayControllerですが、「削除された」コメントを除外するようにフェッチ述語を設定する必要があります。

詳細については、この件に関する Apple ドキュメントを参照してください- 頑張ってください!

于 2012-09-04T17:06:45.213 に答える
0

私があなたの問題を正しく理解していれば、すべての「投稿」オブジェクトを取得したいと考えてpost.commentsいますが、Core Data ストアで定義されているコメントのセット全体ではなく、削除されていないコメントのセットのみを取得する必要があります。

これは (私が知る限り) フェッチ要求では不可能です。フェッチ要求の結果は、管理対象オブジェクト コンテキスト内のオブジェクトのリストだからです。フェッチ要求は、管理対象オブジェクト コンテキスト内の元のオブジェクトとは異なる新しいオブジェクトを返すことはできません。

于 2012-09-04T10:58:28.507 に答える