2012-10-08 4 views
1

NSURLConnction을 통해 서버에서 데이터를 가져오고 가져온 배열에서 tableview를 채우려합니다. 데이터가있는 NSURLConnection 대리자 방식의 로그에 표시하지만 jQuery과 위임 방법 (DM)의 numberOfRowsInSection가있는 NSURLConnection의UITableView 대리자가 NSURLConnection 대리자를 발생시킵니다.

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {} 

DM 발사 전에 깨달았다. 그리고 이것은 나를 위해 문제가 발생하기 때문에 힘든 내가 올바르게 반환 된 행 번호가 allways 0 (zero)입니다. 어떻게하면이 문제를 해결할 수 있습니다. 어떤 아이디어를 공유하십시오 .. 감사합니다

+0

호 [있는 tableView reloadData]; -connection의 끝에서 : didReceiveData : – Moxy

+0

@Moxy thanks. 당신도 대답으로 줄 수 있습니다. 효과가있다. – ilhnctn

답변

2

didRecieveData가 두 번 이상 호출 될 수 있으며 모든 데이터가 페치되었음을 나타내지는 않습니다. 당신은 다음과 같이 클래스에 private 속성을 구현해야합니다.

@property (nonatomic,retain) NSMutableData tableData; 

및 didRecieveData; 그 후

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    [self.tableData appendData:data]; 
} 

연결이

닫혀
-(void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    // use tableData and refresh table... 
    [self.tableView reloadData]; 
} 
1

[tableView reloadData];로 전화해야합니다. 테이블보기를 업데이트하려면 -connection:didReceiveData: 끝.

편집 : Bartu가 맞습니다! -connectionDidFinishLoading:

관련 문제