2011-02-01 3 views
0

XML 문서를 구문 분석하고 배열을 테이블보기로로드하려고합니다.배열에 cellForRowAtIndexPath가 없습니다.

init에서는 initializeDatabase를 호출하여 URLRequest와 Connection을 만듭니다. 그런 다음 문서를 구문 분석하는 parseXML을 호출합니다. 그 모든 것이 잘 작동하는 것 같습니다.

완료되면 결과 배열을 테이블 뷰에로드하려고합니다. 일어나지 않아.

각 메소드에 NSLog 문을 배치하여 테이블 뷰 데이터 소스 메소드를 포함하여이를 추적합니다.

2011-02-01 07 : 29 : 17.770 프로젝트 [1664 : 207] initializeDatabase :
2011-02-01 07 : 29 : 17.814 프로젝트 [1664 : 207]을 numberOfSections
2011-02-01 07 : 29 : 17.815 numberOfRowsInSection 프로젝트 [1664 : 207] 결과 :
2011-02-01 07 : 29 : 18.560 프로젝트 [1664 : 207] 연결이되었습니다.
2011-02-01 07:29 : 프로젝트 [1664 : 207] connectionDidFinishLoading :
2011-02-01 07 : 29 : 18.562 프로젝트 [1664 : 207] parseXML은
을 호출했습니다. 2011-02-01 07 : 29 : 18.563 프로젝트 [1664 : 207] parserDidStartDocum 엔트
2011-02-01 07 : 29 : 18.564 프로젝트 [1664 : 207] parserDidEndDocument :
2011-02-01 07 : 29 : 18.564 프로젝트 [1664 : 207] 결과 : "ProjectData : 0x4e461b0"

cellForRowAtIndexPath가 호출되지 않았습니다. 이유가 확실하지 않습니다.

아이디어가 있으십니까?

커트

당신이 데이터를 분석 한 후 테이블 뷰 방법 reloadData를 실행해야처럼 소리

답변

1

. 데이터를 다시로드하면 테이블 뷰에서 표시 할 행의 수를 데이터 소스에 요청합니다. 테이블 뷰는 viewDidLoad에 대해 자동으로 수행하지만, 그 경우에는 표시 할 데이터가 없습니다. 따라서 parserDidEndDocument에서 [tableView reloadData];를 실행하십시오.

다른 솔루션에서는 대리인과 데이터 소스가 모두 올바른 인스턴스로 설정되어 있는지 확인하십시오.

+0

감사합니다. 도움이되었습니다. – Kurt

0

또한 NSArrayController 및 바인딩을 사용할 수도 있습니다. contentArray를 구문 분석 된 데이터의 배열로 설정하고 각 열의 VALUE를 바인딩하십시오. tableView의 dataSource가 아무것도 설정되지 않았는지 확인하십시오. 매번 reloadData를 호출하지 않아도됩니다.

관련 문제