ios - 模型类中的 ASIHTTPRequest 异步请求

标签 ios objective-c asihttprequest asiformdatarequest

我想在我的模型类中使用 ASIHTTPRequest 或 ASIFormDataRequest。 如何委托(delegate)或检测请求状态,并返回值。

如:

我有一个具有 IBAction DoIt:sender 的 Controller 。我想调用 Connector->DoIt 并在连接成功或失败时回调我的 Controller 。

我该如何处理?

谢谢。

最佳答案

基于回调(来自 documentation ):

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

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

   // Use when fetching binary data
   NSData *responseData = [request responseData];
}

- (void)requestFailed:(ASIHTTPRequest *)request
{
   NSError *error = [request error];
}

基于 block :

- (IBAction)grabURLInBackground:(id)sender
{
   NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
   __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
   [request setCompletionBlock:^{
      // Use when fetching text data
      NSString *responseString = [request responseString];

      // Use when fetching binary data
      NSData *responseData = [request responseData];
   }];
   [request setFailedBlock:^{
      NSError *error = [request error];
   }];
   [request startAsynchronous];
}

关于ios - 模型类中的 ASIHTTPRequest 异步请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535903/

相关文章:

iphone - xcode 4.x 中的 zlib 框架在哪里

ios - Swift ios重置 View Controller 层次结构

iphone - iOS 如何从歌曲(ipod 库)中获取音频样本?

ios - UIImageView 不会以编程方式更改尺寸

ios - NSDateFormatter 时间格式取决于 Locale

iphone - Objective-C/iOS : Converting an array of objects to JSON string

ios - objective-c - 注销功能

ios - 是否可以在iOS中创建和使用FIFO文件? (ObjC)

iphone - 如何使用 ASIHTTPRequests 将 HTTP 请求缓存添加到应用程序?

iphone - iOS asihttp nslog请求