2014-05-20 2 views
0

에 포함되어 있습니다. 핵심 데이터 모델에서 Participant 클래스의 인스턴스 인 요소 인 'participant'관계가있는 대화 클래스가 있습니다. Participant 클래스에는 문자열 인 href 필드가 있습니다.일대 다 관계의 핵심 데이터 술어가

MagicalRecord를 사용하여 href에 '/ businesses/% @'이 들어있는 참가자가 적어도 한 명 이상있는 모든 대화 인스턴스를 가져 오려고합니다. 여기서 % @는 주어진 식별자입니다. 비즈니스 용어에서는 주어진 식별자가있는 비즈니스가 참여자 인 모든 대화를로드하는 것을 의미합니다. 나는 그런 대화가 내 데이터베이스에있는 것을 알면서도,

NSPredicate *participationFilter = [NSPredicate predicateWithFormat:@"ANY participants.href contains[cd] '/businesses/%@'" argumentArray:@[identifier]]; 
NSArray *conversations = [Conversation MR_findAllWithPredicate:participationFilter]; 

그러나 대화는 항상 비어 : 여기

는 페치를 어떻게해야되는 코드입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

마법 레코드 사용의 중요성은 무엇입니까? –

+0

Magical Record는 핵심 데이터를보다 쉽게 ​​조작 할 수 있도록하는 오픈 소스 프레임 워크입니다. https://github.com/magicalpanda/MagicalRecord – Sebastien

+0

오 코어 데이터 래퍼 .... 실제로는 아니요. forte x.x –

답변

0

'...'은 리터럴 문자열로 사용되며 따옴표 안에 %@ 자리 표시자는 확장되지 않습니다. 결합 된 문자열을 먼저 만들어야합니다.

NSString *searchTerm = [NSString stringWithFormat:@"/businesses/%@", identifier]; 
NSPredicate *participationFilter = [NSPredicate predicateWithFormat:@"ANY participants.href contains[cd] %@", searchTerm]; 
+0

Perfect. 고마워 지금 작동합니다. – Sebastien

관련 문제