2014-04-25 10 views
1

저장을 위해 RestKit 0.22 및 코어 데이터에 문제가 있습니다. 나머지 프로젝트에서 문제가 발생하지 않도록하려면 RestKit 예제에서 RKTwitterCoreData를 사용하여 문제를 재현합니다. 간단히 비어있는 sqlite 데이터베이스로 시작할 시드 부분을 제거합니다. 내 응용 프로그램은 동일한 개념을 기반으로합니다.코어 데이터가 처음으로 저장되지 않습니다.

처음으로 앱을 실행할 때 문제가 발생합니다. 앱이 트위터에서 데이터를 수신하여 표시합니다. 하지만 sqlite 데이터베이스 자체를 보면 비어 있습니다. 두 번째로 앱을 시작하면 데이터베이스가 가득 차게됩니다.

RestKit에서 데이터를받는 순간에 데이터를 저장할 수 있습니까?

RestKit은 모든 데이터를 저장하기 전에 캐시 할 수 있습니까? 그래도 내 문제는 RKManagedObjectStore의 managedObjectCache가 RKInMemoryManagedObjectCache으로 설정 되었기 때문에 발생했지만 역시 RKFetchRequestManagedObjectCache으로 시도한 결과 동일한 결과를 얻었습니다.

또한 성공 블록에 으로 수동 저장하려고 시도했지만 작동하지 않았습니다.

+0

Xcode에서 앱이 실행되는 동안 sqlite 데이터베이스를보고 있습니까? 그렇다면 경험을 통해 데이터를보기 전에 앱 실행을 중지해야합니다. – Nick

+0

나는 그것이 실행될 때와 내가 앱을 멈추었을 때 둘 다 시도했다. – olivierplante

+0

당신이보고있는 sqlite 파일과 방법 (직접 파일을 보지 않아도 ...) – Wain

답변

1

RestKit 자동으로 매핑 결과를 저장하지, 그리고 성공 완료 블록을 호출하기 전에 감사드립니다.

상점에있는 항목을 확인하려면 MOC (주 스레드 또는 영구 저장소 MOC)에 문의하여 registeredObjects/가져 오기 요청을 확인하십시오.

SQLite 파일을 보지 말아야합니다. 테이블 구조는 개인 구현 세부 사항이며 명령 행에서 잘못된 옵션을 사용하여 파일을로드하면 예상 한 내용이 반드시 표시되지는 않습니다.

+0

우리는 데이터 저장소를보기 위해 Core Data Editor (App Store에서 사용 가능)를 사용합니다. – Nick

+0

성공 블록 이후 데이터를 가져 오는 경우 모든 데이터가 결과에 포함됩니다. 그러나 데이터베이스가 비어 있습니다. 데이터베이스에 액세스하려면 시뮬레이터에서 실행하고 app 폴더에서 sqlite 파일을 찾거나 소프트웨어를 사용하여 장치 내용에 액세스하십시오. MesaSQLite를 사용하여 sqlite 파일을 엽니 다. 처음 앱을 실행할 때 데이터베이스는 항상 비어 있습니다. – olivierplante

+0

그래서 앱을 실행 한 초, 다른 일을하기 전에 가져 오기를 실행합니다. 그 결과는 무엇입니까? – Wain

관련 문제