2012-03-14 3 views
0

내 iPhone 앱은 핵심 데이터를 사용하며 대부분 문제가 없습니다. 그러나 여기에 문제가 있습니다 : 일정량의 데이터가 지나면 처음 실행시 중단됩니다 (핵심 데이터 엔티티를로드해야하는 경우).코어 데이터에 너무 많은 데이터가 (한 번에) 있습니까?

몇 가지 실험을 통해 시작시 코어 데이터에로드 된 특정 양의 데이터까지 문제가 없음을 보여줍니다. 임계량을 초과하면 설치가 시작되지 않습니다. 시작 데이터 양이 클수록 실패 할 가능성이 큽니다.

별도의 테스트를 통해 데이터 자체에 결함이 없는지 확인했습니다. 또한이 문제가 시뮬레이터에 나타나지 않는다고 말할 수 있습니다. 디버거를 장치에 연결할 때도 발생하지 않습니다.

짧은 시간 내에 코어 데이터에로드되는 데이터가 너무 많아서 과부하가 발생합니다. 사실입니까? 가능한 해결책에 대한 아이디어가 있습니까?

이 시점에서 나는 UIActionSheet 객체를 사용하여 (사용자에게 버튼을 누르라고 요청하는) 시간을 없애기위한 부분적인 해결책을 만들었습니다. 그러나 이것은 당분간 효과가 있지만 만족스럽지 않습니다.

더 좋은 방법에 대한 의견이나 조언을 보내 주시면 감사하겠습니다.

답변

0

"실패"라는 것이 무슨 뜻인지는 분명하지 않습니다.

그러나 SQLite를 사용하는 경우 CoreData로로드하여 시작할 때 엔티티를 "만들고 저장"하여 CoreData를 채우는 것을 의미하면 [managedObjectContext save ...]를 특히 끝에 대해서만 호출하는 것을 잊지 마십시오. 많은 양의 데이터를 생성하지만 NSManagedObject의 합리적인 세트를 만들고 저장하십시오. 당신이 의미하는 경우

그렇지 않으면, 당신은 비동기 로딩 NSOperation 어떤 종류의 사용을 고려 jQuery과에, NSManagedObject으로 검색 아마로드 많은 양의 데이터가 있습니다. 당신은 단지 우리에게 당신이 점점 오류, 또는 당신이 OS "포장 마차", "실패"을 의미하는 말에

그 이가지 경우 경우에는 적용되지 않습니다.

+0

팁 주셔서 감사합니다. 그러나 나는 문제를 해결하면서 일을 끝내기 위해 NSTimer를 사용하여 끝내었다. 이제 제대로 작동합니다. – Michel

관련 문제