2012-07-03 3 views
2

ios 앱에서 데이터를 가져올 때 문제가 발생합니다.코어 데이터로 초기 데이터를 가져 오는 방법

데이터는 coredata와 함께 저장됩니다. 단추로 데이터를 가져 오려고했습니다. 이 파일을 클릭하면 JSON 형식의 txt 파일에 저장되는 데이터가 sqllite 파일에 저장됩니다.

내 질문에,이 같은 양의 데이터를 가져 오는 것은 매우 느리고 사용자가 버튼을 클릭하거나 초기 데이터를 가져 오기 위해 기다리는 것이 우호적이지 않습니다. 데이터를 가져 오는 더 좋은 방법이 있습니까?

감사합니다.

답변

1

에 따라 다릅니다. 예를 들어 – applicationDidFinishLaunching:에 데이터를 가져 오거나 사용자가 특정 버튼을 터치하면됩니다.

두 경우 모두 백그라운드에서 데이터를 가져옵니다. 이렇게하면 UI가 멈추지 않고 (많은 양의 데이터가있는 경우) 진행률 표시기를 표시 할 수 있습니다. 어쩌면 사용자는 무슨 일이 일어나고 있는지 더 행복하게 알 수 있습니다.

백그라운드에서 데이터를 가져 오려면 코어 데이터 용 새 iOS 5 API를 사용하거나 importing-and-displaying-large-data-sets-in-core-data/에있는 Marcus Zarra 자습서를 따르기 만하면됩니다.

또 다른 방법으로 미리 채워진 db로 시작할 수 있습니다. db와 JSON 파일을 채우고 실제 응용 프로그램 프로젝트에서 해당 db를 사용하는 더미 프로젝트를 만듭니다.

희망이 있습니다.

편집

이 앱이 시작되면 데이터를 가져올 사용자에게 친숙하지 않습니다.

왜 안 되니?

그래서 데이터를 저장하려고했는데 - db 파일을 보관함에 넣고 앱 스토어로 보냅니다. 이 방법으로 테스트 중에 db 파일을 가져올 수 있는지 궁금해서 데이터 가져 오기가 완료되고 초기 데이터를 사용할 수 있습니다. 그리고이 테스트 db 파일을 아카이브에 저장하고 appstore에 게시하십시오. 따라서 사용자는 먼저 에 데이터를 가져올 필요가 없습니다. 테스트 데이터 복사본을 사용하십시오.

여기에 요점이 명확하지 않습니다. 여기 내 말은 preload and import existing data입니다. 앱 스토어에 제출할 때 앱과 함께 db 파일을 보내야합니다. 예를 들어 응용 프로그램 디렉토리 내에 있습니다. 번들 안에서도 배송 할 수 있습니다. 그러나이 경우 db 파일은 읽기 전용이므로주의해야합니다 (수정하려는 경우 elese로 이동해야합니다).

내가 prepolutade db를 생성해야 할 때 할 일은 내 개인적인 방법이므로 더미 프로젝트를 만들 것을 제안했습니다. 이렇게하면 프로젝트 클리너를 유지 관리 할 수 ​​있습니다. 그러나 실제 프로젝트에서 db를 채울 수도 있습니다. 첫 번째 방법을 따르는 경우 단순히 응용 프로그램의 응용 프로그램 디렉토리에서 sql 파일을 이동하고 핵심 데이터에이를 읽으라고 말하면됩니다.

+0

나는 더미 프로젝트 접근법을 시도 할 것이다. 이제 테스트 도중 데이터를 가져옵니다. 하지만 내가 아카이브를 시작했을 때 나는 db 파일을 얻을 수 없다. 테스트하는 동안 db 파일을 가져 와서 리소스 파일로 archive에 추가하고 db 파일을이 파일로 가리킬 수 있습니까? – seanxiaoxiao

+0

@seanxiaoxiao 죄송합니다. 테스트 중에 db 파일을 가져 와서 리소스 파일로 아카이브에 추가하고 db 파일을이 파일로 가리킬 수 있습니까? 내가 이해할 수없는. 감사. –

+0

죄송합니다. @Flex_ 추가됨. 이 경우는 이와 같습니다. 앱이 시작될 때 데이터를 가져 오는 것은 사용자에게 친숙하지 않습니다. 그래서 데이터 - db 파일을 아카이브에 저장하고 앱 스토어로 보내려고했습니다. 이런 방식으로, 테스트 도중 db 파일을 얻을 수 있는지 궁금 해서요. 데이터 가져 오기가 끝나고 초기 데이터를 받아 들일 수 있습니다. 이 테스트 db 파일을 아카이브에 저장하고 appstore에 게시하십시오. 따라서 사용자는 처음에 데이터를 가져올 필요가 없습니다. 테스트 데이터 사본을 사용하십시오. – seanxiaoxiao

관련 문제