2010-06-09 5 views
2

인터넷에서 UITableViews로 데이터를로드하는 많은 앱을 보았습니다. 일반적으로로드가 원활합니다. 이제는 그런 종류의 데이터를로드 할 차례입니다. 동시에 다른 데이터를 얻고 있는데, ~으로 카테고리를 분리하고 #으로 카테고리를 분리합니다. 이것은 훌륭하게 작동하며, obj-c에서 데이터를 완벽하게 분리 할 수있었습니다.UITableView - 인터넷에서 데이터로드 중

내 응용 프로그램의 모든 기능이 작동합니다.로드하는 데 많은 시간이 걸립니다.

정말 궁금한 점은, 백그라운드에서 tableView에 대한 데이터를로드 할 수 있다는 것입니다. 라벨/UIActivityView 또는로드하는 동안 무엇을 표시합니까?

감사합니다.

답변

1

가장 간단한 방법은 일종의로드 진행률 ('Loading ...'텍스트 또는 UIActivityIndicator 등의 레이블)을 보여주는 임시 셀을 추가하는 것입니다. 데이터로드가 완료되면 해당 셀을 제거하고 실제 셀에 데이터를 추가하십시오.

'백그라운드에서'데이터를로드하려면 NSURLConnection을 살펴 보는 것이 좋습니다. 암시 적으로 데이터를 비동기 적으로로드 할 수 있으므로 스레드를 다룰 필요가 없습니다.

+1

나는 그것을 얻은 후에 문자열을 다루는 작업이 많아서 그것을 셀렉터에 넣고'[self performSelectorInBackground : selector]'를하는 것이 가장 좋았다. 그래서 제가 알고 싶은 것은, 실은 선별 자의 모든 과정이 완료되었을 때 어떻게 알릴 수 있는지입니다. – Emil

+2

selector 메서드에서 performSelectorOnMainThread : withObject : waitUntilDone :을 호출하여 프로세스가 완료되면 주 스레드에서 다른 선택기 메서드를 호출합니다. 따라서 기본적으로 자식 스레드가 작업을 마쳤을 때 수동으로 메인 스레드를 호출하여이를 알립니다. – nebs

+1

네브라스카에게 모든 포인트를 줄 수 있었으면 좋겠다. 귀하의 의견은 제가 이끄는 문제를 해결하는 데 도움이되었습니다. 고마워요! – changelog

0

질문이 명확하지 않습니다. UIActivityIndicator를 사용하여로드를 표시하는 이유는 무엇입니까? 당신은 코코아 콩에서 또는 프로그래밍 방식으로 할 수 있습니다. 많은 quiker가 될 NSXMlParsing을 사용하여 intenet에서 내용을로드 할 수 있으며 모든 날짜가 파싱되고 전체 테이블을 한 번에 채울 때까지 활성 인디케이터를 표시 할 수도 있습니다.

이 메시지가 표시되면 회신을 보내주십시오.

관련 문제