Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IOS调度\u异步视图将消失_Ios_Grand Central Dispatch_Dispatch Async - Fatal编程技术网

IOS调度\u异步视图将消失

IOS调度\u异步视图将消失,ios,grand-central-dispatch,dispatch-async,Ios,Grand Central Dispatch,Dispatch Async,我使用dispatch_async和一个块每隔3秒左右检索服务器数据。处理视图消失或用户关闭程序的方法是什么 异步块偶尔检查的是布尔标志吗?如果是这样,那么当异步块处于休眠状态时视图退出该怎么办?您无法轻松取消分派调用,因此最好改为转到NSOperation。有一个来自WWDC 2012的高度相关的视频,它正好涵盖了您描述的问题类型。我绝对建议你看 基本方法是创建一个NSBlockOperation,它可以检查自身的-isCancelled属性,以便在取消时提前返回。然后,您可以在视图中取消该操

我使用dispatch_async和一个块每隔3秒左右检索服务器数据。处理视图消失或用户关闭程序的方法是什么


异步块偶尔检查的是布尔标志吗?如果是这样,那么当异步块处于休眠状态时视图退出该怎么办?

您无法轻松取消分派调用,因此最好改为转到
NSOperation
。有一个来自WWDC 2012的高度相关的视频,它正好涵盖了您描述的问题类型。我绝对建议你看

基本方法是创建一个
NSBlockOperation
,它可以检查自身的
-isCancelled
属性,以便在取消时提前返回。然后,您可以在
视图中取消该操作


另一种方法是使用
NSTimer
,这也很容易失效/取消。这实际上可能是最简单的解决方案,因为它描述了您的代码正在执行的操作。

您无法轻松取消分派呼叫,因此您最好改为使用
NSOperation
。有一个来自WWDC 2012的高度相关的视频,它正好涵盖了您描述的问题类型。我绝对建议你看

基本方法是创建一个
NSBlockOperation
,它可以检查自身的
-isCancelled
属性,以便在取消时提前返回。然后,您可以在
视图中取消该操作


另一种方法是使用
NSTimer
,这也很容易失效/取消。这实际上可能是最简单的解决方案,因为它描述了您的代码正在执行的操作。

+1参考WWDC 2012会话211。一段精彩的视频。+1供WWDC 2012第211次会议参考。一段精彩的视频。