2011-11-28 2 views
0

나는 아이폰 응용 프로그램을 만드는 중입니다. 그것은 100k + 레코드 이상을 포함 할 것이며 그 숫자는 시간이지나면서 500k 레코드까지 증가 할 것입니다. 각 레코드는 크지 않을 것입니다. 텍스트가있는 필드가 거의 없습니다. 어떤 시점에서 응용 프로그램은 uitableview에 큰 하위 집합을 표시해야합니다. 보기에서 1k 레코드 일 수도 있습니다. 나는 사람들이 1k 레코드를 스크롤하기를 원하지 않을 것이므로 이해할 수 있도록 디자인 할 방법을 모르겠습니다. 사람이 누른 모든 문자로보기를 다시로드하는 일종의 검색을 구현할 수 있습니다.
제 질문은 제 목적으로 사용하는 것이 더 좋습니다. 핵심 데이터 또는 sqlite. 그러면 메모리에 1k 데이터 세트를로드하지 않고 데이터를 스크롤 할 수 있고 사용자는 레코드를 빠르게 스크롤 할 수 있습니다.코어 데이터 또는 IOS에서 많은 양의 레코드 sqlite 선택

미리 감사드립니다.

+0

DB에서 가져와야하는 많은 수의 레코드에 대해 스크롤 기능을 제공하는 것은 좋지 않습니다. 대신 사용자 입력을 통해 필터링 방법을 사용해야합니다. 사용자 입력 이벤트를 기반으로 레코드를 가져 오거나 필터링하기 만하면됩니다. 이상적으로 필터링시에도 최대 25-50 개의 레코드를로드해야합니다. 검색 문자열로 더 많은 문자를 입력하여 사용자가 레코드에보다 구체적으로 노출되도록하십시오. – samfisher

답변

0

사용 CoreData 및 NSFetchedResultsController. 그것은 효율적으로 큰 자원을 처리합니다.

+0

응답 해 주셔서 감사합니다. 이것은 내가 기울고있는 것입니다. 나는 그것을 줄 것이고 그것이 어떻게 작동하는지 보게 될 것이다. @ samfisher 당신은 사람들이 많은 레코드 목록을 스크롤하지 않을 것이라고합니다. 나는 사람들이 수천 곡의 노래를 스크롤하여 기꺼이 아이팟에 올려 놓고 사람들이 수백 개의 레코드를 무작위로 스크롤하는 것에 흥미가있을 것이라고 생각하고있다. 나는 실제로 그것을 볼 때 그것이 의미가 있는지보기 위해 갈 것입니다. – Yan

+0

Oystein에 동의합니다. 핵심 데이터 및 NSFetchedResultsController를 사용하십시오. 핵심 데이터에 대한 WWDC2010 비디오를 확인하십시오. 핵심 데이터 모델을 표준화하여 매우 빠르게 검색하는 방법에 대한 유용한 팁이 있습니다. – timthetoolman

관련 문제