핵심 데이터와 함께 RestKit 사용하기 사용자가 인터넷에 연결하지 않고 개체를 추가, 편집 또는 삭제할 때 개체에 플래그를 지정하고 핵심 데이터로 저장할 때 오프라인 지원을 제공합니다.RestKit - 오프라인 저장 후 추가/편집/삭제 된 개체 보내기
인터넷을 다시 사용할 수있는 경우 모든 추가/편집/삭제 된 개체를 가져 와서 배열로 저장하고 정상적인 방법을 사용하고 각 항목을 반복하여 서버에 저장하십시오. 배열의
목록
- fetchedAddedCompanies
- fetchedEditedCompanies
- fetchedAddedContacts
- fetchedEditedContacts
- fetchedDeletedContacts
초기화 방법 (편집 회사에 대한 예)
// Added Companies
...
// Edited Companies
for (Company *tempObj in fetchedAddedCompanies)
{
// Find keys for selected languages
[self updateAccountToServer:tempObj:addCompanyContext];
}
// ...
의 끝에 updateAccountToServer 나는 서버에 매핑 된 개체 (self.company)를 게시합니다.
...
[objectManager postObject:self.company mapResponseWith:[companyMapper inverseMapping] delegate:self];
...
질문
사용자가 몇 개체를 업데이트했다 때 나는 더 효율적인 솔루션을 찾고 있어요 - 특별한 일이 있음 - 모든 편집/삭제로 인해 달리 몇 가지 새로운 개체를 추가 않았다 메소드는 서버가 저장 될 새로 작성된 각 오브젝트에 대한 ID를 리턴합니다.
1) 예를 들어. updateAccountToServer 각 편집 객체 및 구현하기 힘들 것입니다 제 생각에는 1에서 RKObjectManager (regarding this question and a good answer)
와 함께 RKRequestQueue를 사용하는 대신 객체의 배열
2))를 보낼 수 있기 때문에 각 요청에 대한 resourcePath 고유 ID를 포함, 그래서 나는이 시도했다)하지만 할 수있는 가능성 누락이 당신의 아이디어를
[syncQueue addRequest:[[RKObjectManager sharedManager] objectLoaderWithResourcePath:tempString delegate:self]];
감사를 사용하여 각 요청에 대한 매핑을 결합!
이 지점은 RestKit 0.10의 한 지점 인 경우 비활성 상태 인 것처럼 보입니다. Restkit 0.20.x의 비슷한 지점에서 일하는 사람이 있습니까? – Diego