2010-06-26 6 views
0

iPhone에서 하나의 모델 버전에서 다른 버전으로 데이터를 마이그레이션 중이지만 마이그레이션으로 인해 장치의 메모리가 부족해져 충돌이 발생합니다. 말할 필요도없이 장치를 영원히 필요로합니다. 기본 마이그레이션 설정을 사용합니다.모델을 마이그레이션 할 때 메모리가 부족합니다.

나쁜 사람은 10 행의 순서를 포함하는 테이블 중 하나라고 생각합니다. 이 테이블은 변경되지 않았지만 마이 그 레이션은 여전히 ​​다른 테이블과의 관계 때문에 테이블에 대한 작업을 생성합니다.

내가 개선 할 수있는 아이디어가 있습니까? 물론 필자는 수동으로 무언가를 쓸 수는 있지만 가능한 한 많은 핵심 데이터를 활용하고 싶습니다.

답변

1

대부분의 경우 개체를 만드는 동안 마이그레이션하지 않고 해제하지 않는 것이 좋습니다. 마이그레이션을 통해 작은 니블을 가져 와서 다음 니블을 사용하기 전에 각 니블에 사용 된 메모리를 확보해야합니다. (... 내가 디버깅했다) Multiple Passes—Dealing With Large Datasets

+0

예 그게 정확히 무슨 일이 일어나고 있는지, 그리고 그것이 내가 있었다 정보를 정확하게 종류이었다

코어 데이터 모델 버전 및 데이터 마이그레이션 프로그래밍 가이드를 참조하십시오 찾고. 감사합니다. – Krumelur

+0

문제를 어떻게 처리 할 수 ​​있는지 설명해 주시겠습니까? 비슷한 문제가 있습니다. (http://stackoverflow.com/questions/4479229/out-of-memory-while-doing-core-data-migration) 마이그레이션을 어떻게 분할 할 수 있는지 이해하지 못합니다. 여러 차례 패스. 문제는 엔티티 유형의 수가 아니라 많은 수의 엔티티를 사용합니다. 따라서 서로 다른 매핑 모델 (= 다른 엔티티 유형)으로 어떻게 분리되는지 이해하지 못합니다. – Kamchatka

관련 문제