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

ASIHTTPRequest取消异步请求

2014-10-21 11:30 232 查看
取消异步请求

首先,同步请求是不能取消的。

其次,不管是队列请求,还是简单的异步请求,全部调用[ request cancel]来取消请求。取消的请求默认都会按请求失败处理,并调用请求失败delegate。

如果不想调用delegate方法,则设置:[request clearDelegatesAndCancel];

队列请求中需要注意的是,如果你取消了一个请求,队列会自动取消其它所有请求。如果只想取消一个请求,可以设置队列:[queue setShouldCancelAllRequestsOnFailure:NO ];
如果想明确取消所有请求:[queue cancelAllOperations ];

安全的内存回收建议

request并没有retain你的delegate,所以在没有请求完的时候释放了此delegate,需要在dealloc方法里先取消所有请求,再释放请求实例,如:

- (void)dealloc
{
[request clearDelegatesAndCancel];
[request release];
...
[super dealloc];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: