2011-05-05 4 views
0

영화 및 액터를 저장하는 핵심 데이터가 있습니다. json을 통해 영화 목록을받습니다. 각 영화에는 캐스트 (역할, 역할)가 있습니다.CoreData : 추가시 2 단계 fetchRequest

그래서 Movie, Actor, ActorRole 엔티티가 있습니다. - 현재 데이터베이스에있는 모든 동영상 가져 오기 - 기존 동영상 NSS 세트를 만듭니다. - NSM 세트의 newMoviesID를 만듭니다. - 마이너스로 설정합니다. 정말 새로운 영화를 모두 얻으십시오 - CoreData에 추가하기 위해 newItems를 반복합니다.

이것은 하나의 가져 오기 요청 만하기 때문에 꽤 빠릅니다. 나는 데이터베이스 에 캐스트를 추가 할 때 가 지금은 매우 느리게 도착 어떤 새로운 영화를 추가 할 때 내가 지금 : 발견되지 않는 경우는 - - 배우 ID 를 얻을 수를 - 그 배우의 ID 에 대한 FetchReqyest을 만들 - FetchRequest 을 실행 나는 새로운 배우를 추가, 다른 사람의 하나를 얻을 CoreData - 나는 영화와 배우 사이의 관계를 만들 ActorRole을 만들

난 내가 하나가 각각의 영화 그래서 난에 대한 가져 오기 때문에이 놀라 울 정도로 느린 생각 그것을 달성하는 더 좋은 방법을 찾고 있습니다.

아이디어가 있으십니까? 당신은 IN 연산자를 사용하여 한 번에 기존의 모든 Actor 객체를 가져올 수

감사

답변

0

배열에 actor_ID 값으로 모든 배우 객체를 가져올 수 있습니다. 그래서 같이 :

NSPredicate *P=[NSPredicate predicateWithFormat:@"actor_ID IN %@", arrayOfIdValues]; 

그 속도 것이다 당신의 Actor 당신의 병목 현상으로 나타나는 가져옵니다.