0

私はfetchedResultsControllerを持っていて、Userのオブジェクトを取り戻しています。NSPredicates on NSFetchedResultsController fetchedObjects

私は私のUserオブジェクトと多くの関係、sitesToUserと呼ばれる多くのSiteオブジェクトへの1 Userに1を持っています。

私がやって、すぐに私の[fetchedResultsController fetchedObjects]をフィルタ処理しようとしています:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"sitesToUser.isActive == 0"]; 
NSArray *filt = [[self.fetchedResultsController fetchedObjects] filteredArrayUsingPredicate:pred]; 

をしかし、filt配列は結果を返すことはありません。どのEntity属性を使用するかは問題ではないようですが、結果は決して 'filt'に返されません。

上記において、isActiveは、NSNumberとして保存されたBOOLである。何か案は....?

答えて

0

私はこれを理解しました。 ANY関数を追加するだけで、条件に一致するすべての 'User'オブジェクトが返されます。

NSPredicate *pred = [NSPredicate predicateWithFormat:@"ANY sitesToUser.isActive == 0"]; 

素晴らしいです!

0

述語に「ANY」を追加すると実際に動作するようです。 (私にとってはそれほど意味をなさないが)すべてのケースでうまくいかないかもしれない。誰かが、まだ問題がある場合は、ここで私は最初の場所でそれを解決する方法は次のとおりです。

NSPredicate *pred = [NSPredicate predicateWithFormat:@"sitesToUser.isActive == %@", [NSNumber numberWithBool:YES]]; 

これは、これまで私のために働いています。

関連する問題