我从服务器返回的响应是一个需要设置的字符串,因此我可以在viewdidload方法中使用它...。

我需要解析响应,然后将其显示在表视图中。...我已经使用同步请求很好地完成了这个工作,但是异步对于UI会更好。

下面是用于获取响应的方法。

- (void)requestFinished:(ASIHTTPRequest *)request
{
   // Use when fetching text data
   NSString *responseString = [request responseString];
}

我需要在viewdidload方法中使用存储在“responseString”中的数据,以便将响应解析并加载到表视图中。

最佳答案

您在viewDidLoad中不需要它。如您所见,它回来太晚了。

您需要的是一旦返回数据就触发UITableView重新加载自身。

- (void)requestFinished:(ASIHTTPRequest *)request
{
   // Use when fetching text data
    NSString *responseString = [request responseString];

    // do something to turn responseString into the data you'll use to
    // populate your table with data, and then:

    [myTable reloadData];
}

因此,该表将显示为空,并在要显示数据后重新加载自身。

关于iphone - iPhone ASIHTTPRequest从requestFinished方法中异步提取响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5419468/

10-12 14:43