如何在一定时间后取消方法?

时间:2014-04-23 06:55:05

标签: ios xcode dispatch-async

我有一个简单的应用程序,基本上运行一个方法来获取实时HTML数据,然后在按下按钮后使用xpath查询提取一些信息。

有时它会在抓取过程中挂起,所以我要做的就是取消该方法,然后运行另一种方法(显示一个按钮,然后再次尝试")一定量的时间过去了。

我已经尝试使用dispatch_async来运行当前的方法,但我没有运气,因为它在调用dispatch_async后仍然完成其运行。因此,我认为取消原始方法会阻止这种情况发生。

解决此问题的最佳方法是什么?非常感谢提前。

注意:我根本没有使用NSURLRequest。

1 个答案:

答案 0 :(得分:0)

我通过实施NSURLConnection解决了这个问题。因为数据是异步下载的,所以我还在连接上实现CFRunLoop,在connectionDidFinishLoading上实现CFRunLoop,以便在从连接接收到所有数据后运行该方法。

希望这有助于那里的人!