2010-12-21 5 views
0

코어 데이터를 사용하여 iPad 응용 프로그램을 개발 중이며 누군가가 코어 데이터에 대해 명확하게 설명 할 수 있기를 바랍니다.코어 데이터를 사용하는 가장 효율적인 방법은 무엇입니까?

바로 지금, 모든 데이터를 가져 오기 요청을하여 viewDidLoad에 테이블을 채 웁니다. 차라리 내 tableView:cellForRowAtIndexPath:에 개별 가져 오기 요청을하고 싶습니다. 누구보다 효율적이고, 왜 말해 줄 수 있습니까? 즉, 하나의 큰 요청에 비해 작은 요청을 많이하는 것이 훨씬 효율적이지 않습니까?

답변

4

가져 오기 요청에 fetchBatchSize이라는 속성이 있습니다.이 속성은 가져 오기 요청에 일괄 적으로 데이터를 가져 오도록 지시합니다. 이는 일괄 처리 크기가 20 인 경우 처음 20 개 항목 만 메모리에로드된다는 것을 의미합니다. 사용자가 지난 20 일 스크롤하면 다른 20 개의 항목이 자동으로로드됩니다.

또한 Apple은 데이터의 표현 및 편집을 관리하기 위해 설계된 NSFetchedResultsController 클래스를 제공합니다 (테이블 뷰에서 가장 잘 작동하지만 다른 종류의보기 컨트롤러에서도 작동 할 수 있음). 사용자를 위해 여러 가지 최적화 (일괄 처리, 메모리 관리 등)를 처리하므로 가져 오기 요청을 직접 작성, 시작 및 관리하는 것보다 훨씬 더 우수한 성능을 제공합니다.

+0

+1 'NSFetchedResultsController'는 과대 평가 젬입니다. –

관련 문제