您的位置:首页 > 理论基础 > 计算机网络

asihttprequest简单异步

2011-12-22 17:30 281 查看
调试环境:
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层面的成员变量来用的,这样避免了在异步处理结束前就释放了对应的处理对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: