0
我有一个for循环,它发送多个ASIHTTPRequests:ASIHTTPRequest - 取消多个请求的最佳做法?
for (int i = 0; i < 10; i++) {
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];
}
安全地处理委托被释放前的请求完成后,我想取消这些请求;我怎么能做到这一点?将所有请求存储在NSMutableArray中?或者我可以使用队列来实现吗?非常感谢你的帮助!
斯特凡
看起来不错;这是否意味着我不需要使用该请求作为ivar并将代码放入dealloc方法中? – swalkner
是的,可能 - 但要小心。您可能想在viewDidDisappear中执行此操作,因为可能会在另一个视图启动新的http请求后调用dealloc。一个ivar或每个视图控制器的队列可以有很大的意义,但是这些只是你可以做出的架构决策(在你的问题中没有足够的细节来建议这是你的应用的正确/最佳方法)。 – JosephH
我知道,我的问题很一般;但我认为你帮了我很多;不过我把它放在我的dealloc中;可能我在请求中设置了userInfo-dictionary,所以我只取消属于那个viewcontroller的请求。谢谢! – swalkner