2016-11-11 1 views
0

내 앱에는 하나의 감사에서 많은 결과가 있습니다.기존 NSPredicate가있는 하위 쿼리에 대해 NSPredicate를 만드는 방법은 무엇입니까?

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

내가 자신의 연구 결과의 특성에 따라 감사의 배열을 필터링하는 데이 술어를 사용하려면 :

나는 검색 텍스트 입력 ID로 결과를 필터링 자 NSPredicate를 반환하는 방법이있다. 그래서 첫 번째 방법의 출력 주어, 나는 새로운 술어 상당을 만들려면 : ????가 감사의 결과로 기존 술어를 적용

[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

관련 문제