当前位置: 游戏平台 > 互联网科技 > 正文

Objective-C 中延迟执行和取消

时间:2020-04-15 14:56来源:互联网科技
在 Objective-C 中延迟执行还是很常见的需求,通常有如下几种方式可供选择: NSOperation和NSOperationQueue NSOperation 是苹果公司对 GCD的封装,完全面向对象,所以使用起来更好理解。 大家可

在 Objective-C 中延迟执行还是很常见的需求,通常有如下几种方式可供选择:

NSOperation和NSOperationQueue
NSOperation 是苹果公司对 GCD 的封装,完全面向对象,所以使用起来更好理解。 大家可以看到 NSOperation 和 NSOperationQueue 分别对应 GCD 的 任务 和 队列 。操作步骤也很好理解:
1.将要执行的任务封装到一个 NSOperation 对象中。
2.将此任务添加到一个 NSOperationQueue 对象中。
系统就会自动在执行任务。至于同步还是异步、串行还是并行请继续往下看:
-,添加任务
值得说明的是,NSOperation 只是一个抽象类,所以不能封装任务。但它有 2 个子类用于封装任务。分别是:NSInvocationOperation 和 NSBlockOperation 。创建一个 Operation 后,需要调用 start 方法来启动任务,它会 默认在当前队列同步执行。当然你也可以在中途取消一个任务,只需要调用其 cancel 方法即可。

最近抽空闲的时间看了一些算法相关的,刷刷LeetCode。实在感觉脑子不好使。想到前段时间处理了一个挺好玩的问题——限制GCD调用的频率。后来扩展到了限制函数调用。这里顺便总结一下。

想要延迟调用某个方法:

NSInvocationOperation : 需要传入一个方法名。
Objective-C:

本来想写详细点,

编辑:互联网科技 本文来源:Objective-C 中延迟执行和取消

关键词:

  • 上一篇:没有了
  • 下一篇:没有了