ios - 如何暂停一个NSOperation
PHP中文网
PHP中文网 2017-04-17 11:32:42
[iOS讨论组]

我怎么才能暂停一个NSOperation?在NSOPeration的文档里没有找到任何相关的东西
还有,在一个Queue里,如果暂停了一个Operation会阻塞么?还是会被滞后?

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
PHPz

明显的有个cancel方法

直接

[operation cancel];

cancel
Advises the operation object that it should stop executing its task.

- (void)cancel
Discussion
This method does not force your operation code to stop. Instead, it updates the object’s internal flags to reflect the change in state. If the operation has already finished executing, this method has no effect. Canceling an operation that is currently in an operation queue, but not yet executing, makes it possible to remove the operation from the queue sooner than usual.

In OS X v10.6 and later, if an operation is in a queue but waiting on unfinished dependent operations, those operations are subsequently ignored. Because it is already cancelled, this behavior allows the operation queue to call the operation’s start method sooner and clear the object out of the queue. If you cancel an operation that is not in a queue, this method immediately marks the object as finished. In each case, marking the object as ready or finished results in the generation of the appropriate KVO notifications.

In versions of OS X prior to 10.6, an operation object remains in the queue until all of its dependencies are removed through the normal processes. Thus, the operation must wait until all of its dependent operations finish executing or are themselves cancelled and have their start method called.

For more information on what you must do in your operation objects to support cancellation, see “Responding to the Cancel Command.”

Availability
Available in iOS 2.0 and later.
See Also
– isCancelled
Related Sample Code
MVCNetworking
Declared In
NSOperation.h

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号