调试环境:
ASIHTTPRequest版本1.8.1-61 2011-9-19修复版
Xcode版本4.2.1
iOS5.0
Mac OS X10.7.1
在此代码仅仅捣鼓异步的初步处理
1、需要实现协议接口
ASIHTTPRequestDelegate
主要requestFailed,requestFinished之类的接口
2、调用的时候,建议启动异步request的对象和异步处理的对象分开定义
下面我的代码是启动异步和异步处理定义在一起
代码:
@interface AsynBaseDeal : NSObject<ASIHTTPRequestDelegate> - (void)LoadImage:(NSString *)strUrl; @end
@implementation AsynBaseDeal - (id)init { self = [super init]; if (self) { } return self; } - (void)dealloc { [super dealloc]; } - (void)LoadImage:(NSString *)strUrl { if (strUrl) { ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:strUrl]]; [request setDelegate:self]; [request startAsynchronous]; } } - (void)requestFailed:(ASIHTTPRequest *)request { NSLog(@"error :%@" ,[request error]); } - (void)requestFinished:(ASIHTTPRequest *)request { NSLog(@"finish :%@ ,%d" ,[request responseData] ,request.responseEncoding); } @end
在使用中,我把AsynBaseDeal对象定义为UIApplication层面的成员变量来用的,这样避免了在异步处理结束前就释放了对应的处理对象
from:http://www.cnblogs.com/gogoagg/archive/2011/12/22/2298196.html