json 파일에서 데이터를로드하고 저장합니다. 두 번 해 ... 내 핵심 데이터 sqlite 데이터베이스에 두 개의 항목이 있습니다. 매핑에 primaryKeyAttribute를 설정하더라도.RestKit 기본 키 속성
mapping.primaryKeyAttribute = @"code";
[mapping mapAttributesFromArray :mappedFields];
[[RKObjectManager sharedManager].mappingProvider setMapping:mapping forKeyPath:entityName];
내 JSON
{ "MyEntity": [{ "코드": "axv2", "데이터" "콘텐츠"}]};
- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects { NSLog(@"Entries loaded %d",[objects count]); lastResult = objects; for(MyEntity * myEntity in lastResult) { [self saveContext]; } }
내 엔티티가 올바르게 매핑 ...하지만 Restkit 하나가 동일한 기본 키를 사용하여 중복 된 항목을 저장할 수 있습니다 : 여기 콜백
?
이상하게 들리지만,이 기본 키 특성이이 문제를 피할 수 있다는 것을 이해했습니다.
그렇다면 컨텍스트를 저장할 때마다 엔티티가 sqlite db에 있는지 확인하기 위해 관리 컨텍스트의 각 엔티티를 반복해야합니다. Restkit은 무언가를 제공하지 않습니까? 아니면 핵심 데이터? – Sam
기본적으로 그렇습니다. 또는 새 항목을 만들기 전에 데이터베이스에서 가져옵니다. 가져 오기가 비어있는 경우 다시 만들어야합니다. 그렇지 않으면 관리 대상 객체 컨텍스트에 삽입하지 마십시오. 나는 이런 식으로했고 그것은 아주 효율적입니다. – Mundi
중복과 동일한 문제가 있습니다. 그러나 Restkit은 데이터베이스에 삽입되기 전에 검사를 제공하지만 어떤 이유로 든 나와 전화하지 않는 것으로 보입니다. 내가 옳은 대답을 찾을 때까지 내가 어떻게 "일시적으로"해결되었는지 확인하십시오. http://stackoverflow.com/questions/7799890/primarykeyattribute-not-working-restkit-core-data – mateusmaso