데이터를 생성하지 않는 ios 5 앱이 있습니다. REST 웹 서비스에 대한 GET 호출을 만들고 해당 레코드로 sqlite 데이터베이스를 채 웁니다. 초기 GET은 로컬 데이터베이스에 레코드가 없을 때 유용합니다. 그러나 이후에 전화를 걸면 마지막 GET 이후 데이터가 변경된 레코드의 하위 집합 만 반환합니다. 그러나 일어나는 일은 기존 레코드를 업데이트하지 않고 레코드를 다시 추가하는 것입니다.RestKit/CoreData가 업데이트되지 않음 - 중복 생성
ID 필드가 기본 키 (또는 있어야 함)이며 ID가 이미있는 레코드가 들어 오면 해당 데이터를 업데이트해야합니다. 해당 ID가 없으면 삽입해야합니다.
Xcode에서 데이터 모델의 ID 필드를 '기본 키'로 설정하는 방법을 찾지 못했습니다.
userMapping.primaryKeyAttribute = @"id";
을하지만 혼자 정말 아무것도 할 것 같지 않은 : 내 didFinishLaunchingWIthOptions 방법으로이 일을 시도.
// Load the object model via RestKit
[objectManager loadObjectsAtResourcePath:[@"/synchContacts" appendQueryParams:params] delegate:self];
자동적으로 모든 것을 할 것 같다 :
이
실제로 GET을 수행 할 수있는 내 전화입니다. 나는이 시점에서 ID가 존재하는지 확인하기 위해 논리를 두어야하는지, 그리고 그렇다면 업데이트와 삽입을 비교해야하는지에 대해 분실했다.