2012-03-08 3 views

답변

0

여기에 마술이 없습니다. 데이터 소스를 반복하고 각 데이터 항목에 대한 관리 대상을 만들고 핵심 데이터로 저장하는 사이클을 작성하십시오.

+0

하지만 10000 개의 데이터가 있습니다. 이 방법을 사용하면 메모리 문제가 있습니까? – user1232250

+0

메모리 관리를 올바로 수행하면 문제가 없어야합니다. CoreData- 프레임 워크는 자체적으로 관리 할 수 ​​있습니다. 가장 좋은 결과를 위해 ARC를 사용하십시오 :) –

+0

'insertNewObjectForEntityForName : inManagedObjectContext :'는 자동으로 릴리즈 된 객체를 반환합니다. 메모리 소비가 염려된다면, 100 또는 1000 사이클마다 autorelease pool drain을 말하면 autorelease 객체를 해제 할 수 있습니다. 분명히 이렇게하기 전에 핵심 데이터 컨텍스트를 저장해야합니다. 여기에있는 예제를 보시기 바랍니다 : https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmAutoreleasePools.html – MrTJ

1

코어 데이터를 시드하는 방법은 Jeff Lamarche의 tutorial입니다. 몇 가지 단어로 : 당신은 몇 가지 데이터 소스 (plist, sqlite, ...)를 파싱하고 Core Data에 저장해야합니다.

+0

하지만 10000 개의 데이터가 있습니다. . plist를 사용하면 메모리 문제가 있습니까? – user1232250

+0

@ user1232250 - 데이터의 각 항목의 크기에 따라 다릅니다. plist에 성능 문제가있는 경우 대신 sqlite를 사용할 수 있습니다. – sch

+0

어떻게 sqlite에 데이터를 입력 할 수 있습니까? 나는 초보자이다. 감사합니다 – user1232250

0

다른 방법은 sqlite 데이터베이스 브라우저 2를 사용하고 있습니다. 무료이며 surceforge에서 다운로드 할 수 있습니다!

그런 다음 코어 데이터가 생성 한 sqlite 데이터베이스를 가져옵니다. 엔티티와 그 속성을 테이블에서 볼 수 있습니다. 나중에 테이블에 정보를 삽입하는 것은 쉬울 것입니다!

관련 문제