簡単な答え:「正しい== 1」の「答え」がないすべてのオブジェクトを取得するには、次の サブクエリを使用します。
[NSPredicate predicateWithFormat:@"SUBQUERY(answers, $a, $a.correct == 1).@count == 0"]
説明:両方の述語
[NSPredicate predicateWithFormat:@"NONE answers.correct == 1"]
[NSPredicate predicateWithFormat:@"NOT (ANY answers.correct == 1)"]
(NOTおよびANYキーワードを理解しているので)機能するはずですが、機能しません。それらはと同じ結果セットを返します
[NSPredicate predicateWithFormat:@"ANY answers.correct != 1"]
-com.apple.CoreData.SQLDebug 3
起動引数を設定し、SQLselectステートメントを調べることでわかるように。
これは私にはCoreDataのバグのように思えます。SUBQUERYを使用すると、その問題の回避策になります。