gpt4 book ai didi

iphone - ASIHTTP - 离开 View 并获取 EXC_BAD_ACCESS

转载 作者:行者123 更新时间:2023-12-03 20:33:14 25 4
gpt4 key购买 nike

我正在使用 ASIHTTP 将 View Controller 作为委托(delegate)运行 http 请求,如果用户在请求完成之前离开 View Controller ,我会在执行 if ( delegate .. .)

在我的 View Controller 释放中我必须做些什么吗?如果用户离开,我只想简单地删除请求。

最佳答案

出现此类问题的最常见原因是 ASIHTTPRequest 对象仍然处于事件状态,并且其委托(delegate)字段指向现已被销毁的对象。当 ASIHTTPRequest 尝试告诉委托(delegate)请求已完成等时,EXC_BAD_ACCESS 将发生。

作为 asihttprequest 委托(delegate)的对象的 dealloc 方法应该具有:

request.delegate = nil;
[request cancel]
[request release]

如果一次只有一个请求处于事件状态,则在启动新请求的任何位置都必须使用相同的代码,以确保正确取消任何先前的请求。

如果您有多个事件请求,则需要跟踪所有请求,并取消所有请求并将其归零。

作为引用,我已经使用 ASIHTTPRequest 大约 18 个月了,并且针对与取消请求相关的困难竞争条件贡献了许多修复程序。

关于iphone - ASIHTTP - 离开 View 并获取 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6325840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com