2009-03-25 4 views
2

xml을 반환하는 http 요청을하는 테이블 뷰 컨트롤러가 있습니다. XML을 구문 분석하고 UITableView에 표시합니다. http 요청이 처음으로 호출되면 모든 것이 예상대로 작동합니다. 두 번째로 http 요청을 호출합니다. 예상대로 xml을 받지만 테이블은 업데이트되지 않습니다. 나는 2 초마다 TableView의 reloadData 메서드를 호출하므로 문제가되지 않습니다.iphone 앱에서 테이블보기를 다시로드 하시겠습니까?

답변

7

XML을 업데이트하고 테이블보기를 제공하는 데이터가 예상 한 것인지 확인한 후 어딘가에 중단 점을 설정하십시오. 그렇지 않은 경우 호출 스택을 통해 누락 된 부분을 확인하십시오. 또한 테이블 뷰를 다시로드하기 위해 타이머를 설정하는 것은 나쁜 습관입니다. 데이터를 변경 한 후에 필요할 때 다시로드하십시오.

0

마크의 응답과 거의 같지만 약간 다른 동작 - 셀에 데이터를로드하고 새 데이터가있는 경우 다시 마르크가 언급 한 cellForIndexPath에 중단 점을 설정합니다.

테이블을 다시로드하지 않으면 데이터가 테이블에 새로운 내용을 볼 수있는 위치에 있지 않습니다.

2

안녕하세요? 스레드를 사용하고 있습니까? 그렇다면 당신은 주 스레드에서 tableview 데이터를 다시로드해야합니다. 그렇지 않으면 스크롤 할 때까지 tableview가 새로 고쳐지지 않습니다.

또한 2 초마다 tableview를 다시로드하는 것이 최악의 방법입니다. 실제로 필요할 때만 테이블 뷰 데이터를 다시로드하십시오. 스레드를 사용하지 않는 경우

, http 요청에 잠시 시간이 걸리기 때문에 기본 스레드와 UI가 차단되지 않도록 HTTP 요청을 차단하십시오. 완전한.

+0

나는 문제를 알아 냈습니다. 그리고 나는 더 이상 2 초마다 다시로드하지 않습니다 :) – zpesk

+0

"사용하는 스레드"문제가있었습니다. 고마워, 너의 포스트는 나를 도왔다. – InFreefall

관련 문제