如何处理sendAsynchronousRequest:queue:completionHandler:用户更改屏幕时不再相关的请求

时间:2012-04-11 20:54:47

标签: iphone objective-c ipad ios5

我有一系列ViewControllers,它们以给定的顺序被推入UINavigationController。最后一个ViewController只是一个控制器,基本上是自动向用户建议位置。向用户呈现文本字段,他们可以开始键入位置,在桌面视图下方将填充建议。这不是什么新鲜事,也不是突破性的。

问题出在viewcontroller中我正在调用sendAsynchronousRequest:queue:completionHandler:api方法来获取与用户输入字符串匹配的位置列表。我担心的是,如果给定的请求需要一段时间才能完成,并且用户通过弹出当前屏幕返回堆栈,而请求仍然没有回来,我该如何处理这种情况?

  1. 如果目前有任何有效的
  2. ,我认为无法取消请求
  3. 我注意到即使我弹出屏幕,我的completionHandler块仍然运行,应用程序不会崩溃,并且对tableview的引用不是nil。那么我可以简单地“不担心它”吗?我觉得这不是处理它的正确方法。
  4. 非常感谢任何指导。

    提前致谢,

    -Ralph

0 个答案:

没有答案