gpt4 book ai didi

iphone - 应用程序在 NSURLConnection 中崩溃

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

我正在尝试使用异步类型将 URL 发布到服务器,例如

_urlConn = [[NSURLConnection alloc] initWithRequest:_urlReq delegate: self];

我得到了正确的响应,并且我正在使用didRecieveResponse和connectionDidFinishLoading等委托(delegate)方法很好地处理响应。目前该流程运行良好。我面临着一个新问题,我无法清楚地弄清楚。

假设我有一个按钮可以发布相同的 URL。

  1. 我正在点击按钮发布网址
  2. 再次点击按钮时(一秒/两秒内),URL 不再发布(我已经写了逻辑)。
  3. 网址已发布(对于点击第一个按钮),但我没有收到到目前为止没有任何回应,现在我尝试再次单击该按钮现在将发布 URL。

我的应用程序完全正确。是因为我在connectionDidFinishLoading方法中使用了_ReleaseObject(_urlConn);吗????

最佳答案

使用委托(delegate)回调时需要非常小心。

在此示例中,单个对象是两个同时发生的 NSURLConnection 对象的委托(delegate)。这是一个坏主意。除非您开发一种将特定连接与适当的响应数据对象相关联的方法,否则您最终将混合响应数据。在这种情况下,使用 _urlConn (我假设是一个 iVar)而不是连接(传递给 -connectionDidFinishLoading: 的参数)会让事情变得更糟。

为了简化这一切,您需要在现有请求待处理时不发出新请求,或者需要cancel在开始新请求之前先处理旧请求。

关于iphone - 应用程序在 NSURLConnection 中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11084630/

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