【问题标题】:cancelPreviousPerformRequest vs cancelAllOperationscancelPreviousPerformRequest 与 cancelAllOperations
【发布时间】:2010-06-04 10:49:10
【问题描述】:

我现在两者都用,但我不确定哪个更好。到底有什么区别?我知道的模糊问题。为wwdc做准备

【问题讨论】:

  • 更准确地说:它是某种空闲计时器:用户做某事后 1.5 秒,我想启动一个特定操作。现在我可以选择添加 performSelector::afterDelay: 和 cancelPreviousPerformRequest 或者将操作添加到队列并在每次用户执行某些操作时取消它并再次添加。

标签: cocoa runloop


【解决方案1】:

向操作队列发送cancelAllOperations 消息会取消该队列中的所有操作(也就是说,它告诉操作要取消),而cancelPreviousPerformRequestsWithTarget: 告诉目标对象取消它之前被告知的所有延迟执行去做。

这里没有“更好”;这两种方法是无法比拟的。一取消NSOperations;另一个取消延迟执行的请求。您使用哪种取消完全取决于您是创建了 NSOperation 并将其放入 NSOperationQueue 还是发送了延迟执行请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    相关资源
    最近更新 更多