我从服务器通过NSURLConnction获取数据,并希望从fetched数组中填充tableview。数据出现在NSURLConnection委托方法的日志中,但我意识到UITableView委托方法(DM)的numberOfRowsInSection
在
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {}
NSURLConnection的DM。这对我来说是一个问题,因为即使很难我得到正确返回的数据行数总是0(零)..我怎么能解决这个问题请分享任何想法..谢谢
答案 0 :(得分:2)
didRecieveData可能会被多次调用,并不表示已获取所有数据。您应该在类上实现私有属性,例如;
@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 :(得分:1)
您需要在[tableView reloadData];
结束时致电-connection:didReceiveData:
以更新您的表格视图。
编辑:巴图是对的!
您需要在-connectionDidFinishLoading: