2011-10-21 14 views
4

"Condition1 AND condition2"のような値を持つ単一のNSPredicateを使用する場合と、2つのサブ述語を持つNSCompoundPredicateを使用する場合の長所と短所は何ですか?NSPredicate対NSCompoundPredicate?

動的に構築しても、最初のオプションはコード化するほうがずっとコンパクトです。

答えて

11

ほとんどあなた自身の質問に答えました。パフォーマンスに関する質問よりも、コードの質問の方がクリーンです。

NSCompoundPredicateは、コードの別々の部分に多くの条件を作成して組み合わせたい場合に、より便利です。

述語がすべて1か所に作成されている場合は、書式文字列に 'AND'を使用してください。

述語が複雑になっているため、作成を分割して別々のメソッドに分割する必要があります。

すなわち

それだけa AND bだ場合、それはa AND (b OR c OR c) AND (e OR b)その後、複合述語を使用していた場合、単一の述語

を使用!