2012-10-08 140 views
1

我通过NSURLConnction从服务器获取数据,并希望从获取的数组中填充表视图。数据出现在日志从NSURLConnection的委托方法中,但我意识到的UITableView委托方法(DM)的numberOfRowsInSection之前UITableView委托触发NSURLConnection委托

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

DM NSURLConnection的的闪光。这导致我的问题,因为即使艰难,我得到妥善返回的行数的数据是百达0(零)..我该如何解决这个问题,请分享任何想法..谢谢

+0

调用[的tableView reloadData];在连接结束:didReceiveData: – Moxy

+0

@Moxy谢谢。你也可以给出答案。有效 – ilhnctn

回答

2

的末尾调用它didRecieveData可能会被多次调用,并且不表示所有数据都被提取。你应该在你的课堂上实施私人财产,例如;

@property (nonatomic,retain) NSMutableData tableData; 

and on your 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: