2009-07-25 5 views
0

1 : 1 관계를 가진 관리 객체 모델 A와 B가 있습니다.코어 데이터의 일대 다 관계에 대한 올바른 NSPredicate 형식

이 특정 작업에서는 B와 관계가있는 모든 A 개체를 검색하여 "string"과 일치하는 속성으로 검색하려고합니다.

나는 @"ALL bObjects.bProperty MATCHES 'string'"을 시도했다, 그것은에 objc_exception_throw 원인 :

문제가 될 것으로 보인다 무엇
[NSSQLGenerator generateSQLStatementForFetchRequest:ignoreInheritance:countOnly:] 

?

누구든지 정확한 술어 형식에 대해 조언 해 줄 수 있습니까?

답변

0

Predicate Programming Guide에 따르면 코어 데이터 SQL 저장소에서 페치 할 때 MATCHES 연산자를 사용할 수 없습니다.

matches 연산자는 메모리 필터링 작업 않지만 그래서 코어 데이터의 저장 - SQL에 의해 지원되지 regex를 이용한다. bObjects의 전체 세트가 입력 문자열과 일치하는 bProperty을 가지고 어디에

은 술어의 나머지 부분에 관해서는,는 현재 A 객체를 반환합니다.

원하는 경우 개체가 bObjects 집합에 속한 개체가 있으면 ANY 연산자 한정자를 사용하여 반환하는 것이 좋습니다. 제한, 나는 문서를 믿고 원하는만큼 그래, 난 SQLite는 대한 요청을 가져, 안전을 위해 내가 좋아하는로 변경 비록이 작업을 수행 성냥을 시도한다는 지적

ANY bObjects.bProperty LIKE[cd] 'string' 
0

감사합니다.

유일하게 작동하지 않는 것은 핵심 데이터에서 SQLite 저장소를 사용하여 관련 개체 (이 경우 많은 경우)에서 페치 요청과 함께이 조건자를 사용하고 일치를 사용하지 않는 경우입니다.

지금 당장은 관계를 기반으로 가져 오기 쿼리를 사용하지 않고 있으며, 너무 위험합니다. 그리고 나는 무엇이 실수인지 아직 알지 못합니다. devforums.apple.com에 게시했는데 아무도 여전히 대답하지 않습니다.

관련 문제