2010-12-02 4 views
1

다음과 같은 문제가 있습니다. 리소스 폴더에 sqlite-db를 추가하여 CoreData 기반 IPhone 앱을 이미 가지고 있습니다. 아직없는 경우 문서 폴더로 복사하십시오. 그러나 응용 프로그램을 업데이트하고 새로운 SQLite db를 추가해야하고 사용자가 자신의 문서 폴더에 채워진 db를 이미 가지고있을 때 어떻게 엔티티 테이블의 새 데이터를 사용자 문서 폴더의 기존 db로 가져올 수 있습니까? ?사전로드, 사전 채우기, 기존 CoreData 저장소에 데이터 가져 오기 (SQLite)

users-db가 이미 존재하지 않을 때 db를 채우는 방법에 대한 여러 스레드가 있습니다. 또한 마이 그 레이션에 대해 많이 알았지 만 데이터 구조 만 변경하지만 리소스 폴더에 추가 한 데이터베이스에서 새 데이터를 가져 오지 마십시오.

이 문제를 어떻게 해결할 수 있습니까?

도움 주셔서 감사합니다.

필립

답변

0

또한 앱 업그레이드하는 동안 데이터를로드/마이그레이션하는 데 사용할 수있는 SQLite는 스키마를 마이그레이션하는 데 사용되는 프레임 워크. 마이그레이션을 관리하고 추가 데이터를로드하려면 NSMigrationManager를 사용해야한다고 생각합니다.

+0

답장을 보내 주셔서 감사합니다. 마이그레이션을 사용할 때 사용자가 거주하는 상점을 어디에 배치합니까? 리소스 폴더에도 넣으시겠습니까? 문서 폴더에 복사하는 대신 마이그레이션을 사용 하시겠습니까? – Philipp

+0

나는 plist 파일이나 일부 묶음에있는 텍스트 리소스를 쉽게 읽을 수 있습니다. 그런 다음 이주 중에 자원을 읽고 해당 데이터를 사용하여 새 스키마를 채 웁니다. –

관련 문제