ASIHTTPRequest上的多个请求

dar*_*sky 6 iphone objective-c nsurlconnection asihttprequest

我需要从三个不同的URL下载三组不同的数据.我决定使用ASIHTTPRequest.其中两个URL是我需要解析的JSON提要,其中一个是我需要在本地存储的.txt文件.

现在ASIHTTPRequest网站上针对异步请求的示例显示以下内容:

- (IBAction)grabURLInBackground:(id)sender {
   NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
   ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
   [request setDelegate:self];
   [request startAsynchronous];
}
Run Code Online (Sandbox Code Playgroud)

要传递多个网址,我可以在三个不同的网址上调用"请求".但我不确定如何在requestFinished方法中处理它们.文档显示为:

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

   // Use when fetching binary data
   NSData *responseData = [request responseData];
}
Run Code Online (Sandbox Code Playgroud)

这种方法如何区分不同的请求,以便我可以区别对待它?

谢谢,

Fel*_*lix 12

您可以区分不同的请求

  • 设置请求的userInfo字典
  • 将didFinishSelector(和didFailSelector等)设置为不同的方法
  • 使用不同的类作为委托
  • 使用块
  • 使用请求的标记属性
  • 子类ASIHTTPRequest和覆盖覆盖requestFinished:和failWithError :(仅建议用于复杂情况)

  • 您还可以在最新版本中使用request.tag. (2认同)
  • @Nayefc首先阅读块编程指南http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Blocks (2认同)