如何解决ASIHTTP-离开视图并获取EXC_BAD_ACCESS
|| 我正在使用ASIHTTP以我的视图控制器作为委托来运行http请求,如果用户在请求完成之前离开视图控制器,则我在执行if(委托...)的ASIHTTP代码中得到EXC_BAD_ACCESS 在视图控制器dealloc中我必须做些什么吗?如果用户离开,我想简单地删除请求。解决方法
出现此类问题的最常见原因是ASIHTTPRequest对象仍然处于活动状态,并且其委托字段指向现在已被破坏的对象。然后,当ASIHTTPRequest试图告诉委托人请求已完成时,将发生EXC_BAD_ACCESS,依此类推。
作为asihttprequest委托的对象的dealloc方法应具有:
request.delegate = nil;
[request cancel]
[request release]
如果一次只有一个请求处于活动状态,则在启动新请求的任何地方都必须具有相同的代码,以确保正确取消任何先前的请求。
如果有多个请求处于活动状态,则需要跟踪所有请求,并取消并取消所有请求的委托。
作为参考,我已经使用ASIHTTPRequest约18个月了,并为与取消请求相关的艰难比赛条件提供了许多修复程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。