WEB开发网
开发学院手机开发iPhone 开发 iPhone 开发 之 ASIHTTPRequest 阅读

iPhone 开发 之 ASIHTTPRequest

 2010-03-10 16:06:00 来源:WEB开发网   
核心提示:添加一个同步request这是使用ASIHTTPRequest最简单的方法,发送一个startSynchronous消息,iPhone 开发 之 ASIHTTPRequest,将在同一个进程中执行请求,在完成之后释放控制,并且你对它进行维护,Creatingan asynchronous request创建一个异步re

添加一个同步request

这是使用ASIHTTPRequest最简单的方法。发送一个startSynchronous消息。将在同一个进程中执行请求,在完成之后释放控制。

通过error属性来察看问题。

使用responseString可以得到string类型的response信息。

responseData方法用来获取一个NSData对象,或者更大的文件。不要使用这个方法来获取二进制的数据。

DownloadDestinationPath方法用来设置request,来下载到一个文件中。

- (IBAction)grabURL:(id)sender

{

NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];

[request startSynchronous];

NSError *error = [request error];

if (!error) {

NSString *response = [request responseString];

}

}

注意:一般来说,使用异步请求优先于同步请求。当你从main进程中使用同步的ASIHTTPRequest。你的应用程序界面将会被锁住,并且,在这期间不能使用。

同步request只是用于没有界面的应用程序,例如终端。或者你运行在一个单独的进程中,并且你对它进行维护。

Creatingan asynchronous request

创建一个异步request

示例代码看起来干着同样的事情(或者理解为代码开起来是一样的),但是,request是在后台运行的

- (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];

}

1 2  下一页

Tags:iPhone 开发 ASIHTTPRequest

编辑录入:coldstar [复制链接] [打 印]
赞助商链接