asihttprequest简单异步

调试环境:
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层面的成员变量来用的,这样避免了在异步处理结束前就释放了对应的处理对象



posted @ 2011-12-22 17:30  西就东城  阅读(1097)  评论(0编辑  收藏  举报