2016-11-11 1 views
0

私のアプリでは、1つの監査は多くの知見を持っています。既存のNSPredicateを使用してサブクエリ用のNSPredicateを作成するにはどうすればよいですか?

私は、検索テキストとタイプIDでの調査結果をフィルタリングNSPredicateを返すメソッドを持っている:

+ (NSPredicate)predicateWithSearchText:(NSString *)searchText typeId:(NSNumber *)typeId; 

私は彼らの調査結果の性質に応じて監査の配列をフィルタリングするために、この述語を使用します。 ????は、監査の調査結果に私の既存の述語を適用し

[NSPredicate predicateWithFormat:@"SUBQUERY(findings, $x, ????)[email protected] > 0"] 

...:だから、私は新しい述語と同等を作成する最初のメソッドの出力を、与えられました。

ロジックを+predicateWithSearchText:typeId:に公開せずにこれを行うにはどうすればよいですか?

答えて

0

あなたの探しているものは何ですか?

- (void)sampleMethod:(NSPredicate *)predicateWithSearchText { 
    NSPredicate *pred = [NSPredicate predicateWithBlock:^BOOL(id object, NSDictionary *bindings) { 
     BOOL auditFinding = [self auditFinding:object]; 
     BOOL predFinding = [predicateWithSearchText evaluateWithObject:object]; 
     return auditFinding && predFinding; 
    }]; 
} 
+0

私はその効果で何かを探しています。はい。理想的には、サブクエリとして書くこととまったく同じであることが望ましいので、コアデータはSQL文として効率的に書き込むことができます。しかし、そのようなものがしばらく後に現れたら、これを正解とマークします。 – Simon

関連する問題