首页 > 代码库 > 开源类库之一 (ASIHTTPRequest)
开源类库之一 (ASIHTTPRequest)
ASIHTTPRequest虽然很久没有更新了,但是他仍然是一个非常流行的iOS平台网络通信类库,使用ASIHTTPRequest之后,大大简化了iOS平台的网络编程。其以方便的接口对同步、异步的网络传输进行了传输,将ASIHTTPRequest添加到自己的项目也非常方便,将类库中所有文件拷贝到一个文件夹中,然后将此文件夹添加到项目中,同时要添加如下图CFNetWork之下所示的类库,就可以使用ASIHTTPRequest了:
使用ASIHTTPRequest步骤非常简答,在一般应用开发中,网络连接基本上使用的都是异步方式,下面简单演示一下最简单的异步通讯方法
[cpp] view plaincopy
- #import "ASIHTTPRequest.h"
- - (void) requestDataFromServer
- {
- NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
- NSURL* url = [NSURL URLWithString: @"www.fakeurl.com"];
- ASIHTTPRequest* request = [ASIHTTPRequest requestWithURL: url];
- [request setTag: 1024];
- [request setTimeOutSeconds: 3];
- [request setAllowCompressedResponse:YES];
- [request setDelegate:self];
- [request startAsynchronous];
- [pool drain];
- }
- - (void)requestFinished:(ASIHTTPRequest *)request
- {
- NSString* rawString = [request responseString];
- if (request.tag == 1024) {
- //处理网络返回结果
- }
- }
- - (void)requestFailed:(ASIHTTPRequest *)request
- {
- if (request.tag == 1024) {
- //处理网络错误
- }
- }
注意上面的两个函数中,后面连个为ASIHTTPRequest的delegate函数,其声明类型不能改变,只要在生成ASIHTTPRequest时的deleage设成了self,那么最后返回结果,不管是成功调用还是网络失败,都会调用这两个函数中的对应的一个。
开源类库之一 (ASIHTTPRequest)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。