2010-02-11 6 views
0

예 : 웹 서버에서 XML로 검색하는 친구 목록이 있습니다. 기기에서 업데이트 기능이있는 친구를 로컬에 저장하려고합니다. 하지만 나는 새로운 친구 만 저장하고 싶습니다. 그것을 간단하게 유지하기 위해 나는 그들의 첫 번째 이름으로 만 구별합니다 (예스 나쁜 것!).새 개체를 저장하기 전에 개체가 이미 데이터베이스에 있는지 확인하는 방법?

XML 구문 분석기가 XML을 탐색하면 모든 친구에 대한 관리되는 개체가 생성되어 관리되는 개체 컨텍스트에 중단됩니다. 그러나 컨텍스트를 저장하기 전에 이미 데이터베이스에있는 모든 "새로운"친구를 제거하고 싶습니다. 현재 내가 가지고

NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Friend" inManagedObjectContext:context]; 

NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; 

[request setEntity:entityDescription]; 

[request setPredicate:[NSPredicate predicateWithFormat:@"firstName == 'George'"]]; 
NSError *error = nil; 
NSArray *array = [context executeFetchRequest:request error:&error]; 

문제는 아마,이다 : 그것은 또한 아직 데이터베이스에없는 것들을 전체 관리 개체 컨텍스트에서 친구를 찾을 수 있도록합니다. 어떻게하면 정말로 새로운 것을 저장하고 저장하기 전에 복제물을 버릴 수 있습니까?

답변

1

고유 ID를 사용하십시오. 친구 엔티티에 속성을 추가하십시오. 예를 들어 웹 데이터베이스의 기본 키가 될 수 있습니다.

관련 문제