2012-09-19 2 views
0

많은 사람들이 팀에 속할 수있는 개인 및 팀 엔티티가 있습니다. 그 사람의 번호와 팀 이름을 사용하여 NSPredicate를 만들려고합니다. 따라서이 요청은 Core Data에 이미 N이라는 숫자가 있고 팀 T에 속한 사람이 있는지 확인합니다. 그러나 비교를 위해 TEAM의 속성을 얻을 수 있도록 술어를 만들지 못했습니다. . 다음과 같이코어 데이터 엔티티의 속성을 사용하는 NSPredicate

내 현재의 조건은 다음과 같습니다

request.predicate = [NSPredicate predicateWithFormat:@"(team.name LIKE %@) AND (number == %@)", [[personInfo objectForKey:PLAYS_FOR] name], [personInfo objectForKey:PERSON_NUMBER]]; 

문제가에서 어디 술어 (%의 @ LIKE team.name)의 첫 번째 부분은 나에게 보인다. 어떤 도움을 주시면 감사하겠습니다! 감사!

답변

0

시도 :

[NSPredicate predicateWithFormat:@"(name ==[c] %@) AND (number == %@)", [[personInfo objectForKey:PLAYS_FOR] name], [personInfo objectForKey:PERSON_NUMBER]]; 
+0

음, 그렇게하지 않습니다. 문제는 "team.name LIKE % @"의 "team"엔티티에서 "name"속성을 가져 오는 것입니다. 이것은 술어 형식으로 객체의 속성을 가져 오는 올바른 방법이 아닙니까? – user1096786

+0

'LIKE'는 작동하지만'.'하지 않습니다! – tipycalFlow

0

당신은 당신의 팀 개체와 플레이어 엔티티 사이의 관계가 필요합니다.

플레이어 1 명, 팀 1 명이 많은 플레이어입니다.

그 이유는 플레이어 enity에 관계를 추가하고 player.team == % @ AND player.number == % d을 확인하십시오.

+0

내가하려고하는 것을 조금 더 설명하겠습니다. NSDictionary에 플레이어 데이터가 있습니다. 이제 이미이 데이터를 공유하는 CoreData에 Player가 있는지 (동일한 번호를 가지며 같은 팀에 속하는지) 확인하고 싶습니다. 그래서 사용자가 입력 한 느슨한 데이터를 사용하여 데이터베이스를 쿼리하고 싶습니다. – user1096786

+0

사전의 키를 제공 할 수 있습니까? –

+0

그래, 그냥 PLAYS_FOR 및 PERSON_NUMBER인데 사전은 personInfo – user1096786

관련 문제