gpt4 book ai didi

iphone - ASIHTTP请求问题

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

还有其他人遇到 ASIHTTPRequest 的问题吗?看来,当我在后台线程中执行异步请求并将委托(delegate)设置为实例时,我可能会遇到麻烦,因为可以在请求(放入 NSOperationQueue 中)返回回调之前释放委托(delegate)。

似乎 ASIHTTPRequest 不保留它的委托(delegate) - 另一方面,Apple 的 NSURLConnection 确实保留了委托(delegate)(“NSURLConnection 在初始化时保留其委托(delegate)。当连接完成加载、失败或取消时,它会释放委托(delegate)” ”)。

我是否应该确保在后台线程中执行同步 ASIHTTPRequests 才能完成这项工作(而不是异步请求)?或者也许我应该转储 ASIHTTPRequest?或者我只是疯了?

最佳答案

假设您使用的是 ASIHTTPRequest 的最新版本,使用它(并避免崩溃)的正确方法是:

委托(delegate)人应该保留请求(并且请求不应该保留委托(delegate)人)

当委托(delegate)被销毁时(或者当您想要取消请求时),委托(delegate)应该执行以下操作:

[request setDelegate:nil];    
[request cancel];
[request release];

这样您就不应该发生任何崩溃。 (几个月前,我重写了 ASIHTTPRequest 中的委托(delegate)处理,以避免其中的一些问题,并且在这样做之前,我与 Apple 的人员核实了这是处理事情的正确方法。我的更改都在官方 ASIHTTPRequest 存储库中在 github 上,尽管此后还没有发布正式版本 - 也就是说,这些更改不在 v1.7 版本中,因此使用 v1.7 或更早版本时,按照上述建议,您仍然可能会看到崩溃。)

关于iphone - ASIHTTP请求问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3870314/

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