2012-01-20 2 views
3

MonoTouch 및 sqlite-net을 사용하여 UITableView에서 많은 양의 데이터를 처리하는 가장 좋은 방법은 무엇입니까? MonoTouch.Dialog 시스템을 사용하지만 대부분의 MonoTouch 개발자가 컬렉션을로드 한 다음 셀이 표시 될 때 요청 유형로드 대신 UITableView를 작성하는 것으로 보입니다. 트위터와 같은 앱, 스크롤, 연락처 등으로 이미지와 콘텐츠를 표시하는 앱을 보았습니다. 훌륭한 앱의 경우 올바른 방법을 배우고 싶습니다. 현재 내 앱에는 소량의 데이터가 저장되어 있으므로 컬렉션을 앞에로드해야하지만이 작업을 다시해야합니다.Monitouch에 500 항목이있는 UITableView

MonoTouch를 사용하여 요청시로드 할 수있는 긴 목록의 목록이있는 UITableView를 관리하려면 누구나 제안이나 샘플이 있습니까? 나는 XCode devs를위한 CoreData를 가진 핸들이라고 생각한다. MonoTouch devs는 어떻게이 문제를 처리하고 있는가?

감사합니다.

+0

항목의 크기는 어느 정도입니까? 크기가 작 으면 IList에 모두 넣으면 커다란 걱정거리는 아닙니다. GetCell()에서 셀을 올바르게 캐시하면 UITableView는 필요한만큼 충분한 셀을 한 번에 할당해야합니다. – Jason

+0

반환되는 각 행의 크기는 약 6-10 개이며 큰 것은 아닙니다. 이 목록은 수천 개까지 커질 수 있으므로 동일한 옵션은 CoreData와 같은 요청 로딩을위한 것임을 알고 싶습니다. MonoTouch에서 CoreData를 실제로 사용하는 사람은 아무도 없었습니다. 결과 세트의 레코드 수를 얻은 다음 줄 번호와 주문 행을 추적 할 수있는 줄을 생각하고있었습니다. 연락처와 같이 최상의 방법을 찾고있을 때와 비교하여 많은 쿼리가 필요할 것입니다. – Neal

답변

3

이것은 간단한 제안입니다. 아마 당신의 사양에 맞지 않을 수도 있지만 어쨌든 그것을 쓸 것입니다. 어쩌면 유용 할 수 있습니다.

몇 달 전 MT가있는 iPad 응용 프로그램을 개발 중이 었는데 비슷한 문제가있었습니다. 즉, SQLite DB에서 많은 항목을 검색하고 UITableView에 항목을 표시했습니다. 데이터를 한 번로드하는 것은 부적절했기 때문에이 방법을 사용했습니다. 모델에 일련의 데이터를로드합니다 (예 : 50 개 항목). 로드 된 모델은 테이블에 데이터를 표시하는 데 사용됩니다. 사용자가 표의 끝에 도달하면 해당 표보기의 바닥 글 섹션에 "더보기"레이블이 표시됩니다. 그런 다음 사용자가이를 클릭하면 데이터 (다른 50 개 항목)를 다시로드하고 테이블을 다시로드하는 등의 작업을 수행합니다.

참고 내 사양은 하나의 섹션과 여러 항목 만 있습니다.

희망이 있습니다.

+0

그것은 좋은 제안입니다, 나는 애플 리케이션을 보았다. "페이징"과 비슷하지만 "더 많은로드"메타포를 사용합니다. 좋은 제안. – Neal

+0

희망이 도움이됩니다. 아마도 당신이 원한다면 대답을 upvote ... :-) –

+0

내가 쓴 라이브러리가 유용 할 수 있으며, "더로드"항목을 표시하지 않아도됩니다 : https://github.com/jstedfast/ MonoTouch.SQLite – jstedfast

0

SQLite의 데이터를 MonoTouch.SQLite라는 UITableView로 점진적으로로드하는 로직을 다루는 간단한 라이브러리를 작성했습니다. 여기 내 GitHub 프로젝트를 찾을 수 있습니다 : https://github.com/jstedfast/MonoTouch.SQLite

주요 클래스는 검색 지원을 통합하는 MonoTouch.SQLite.SQLiteTableViewController 클래스입니다. 난 당신이 sqlite 테이블에서 데이터를 표시하는 것이 매우 사소한 것을 알게 될 것 같아요.

언제든지 원하는 방식으로 포크 및 수정하십시오.