gpt4 book ai didi

ios - 处理后台任务的更改请求

转载 作者:行者123 更新时间:2023-11-28 22:20:02 25 4
gpt4 key购买 nike

我是后台任务的概念性问题。

我需要在后台处理一项耗时的任务。该任务由 slider 操作触发。现在,在主线程上运行任务时, slider 不会使用react,因为 slider 值的第一次更改会触发长时间计算。这不利于用户交互。

我想使用 NSOperation 将任务置于后台,但我不知道如何处理快速变化的 slider 值。当输入值再次更改时,有没有办法立即停止/重新启动已启动的后台任务?一种选择可能是使用 NSOperationQueue 并在 slider 激活时删除队列中未启动的过时任务?!?

谢谢

最佳答案

您可以使用主线程通知队列和 NSPostWhenIdle 样式通知 ( https://developer.apple.com/library/ios/documentation/cocoa/Conceptual/Notifications/Articles/NotificationQueues.html#//apple_ref/doc/uid/20000217-115535 ) 来启动后台任务。

可以通过在 NSOperationQueue 上启动 NSOperation 来完成后台任务。 NSOperation 支持取消,您的后台任务需要定期检查 isCancelled 标志。如果用户在后台任务正在进行时恢复滑动,您将需要取消任务并再次发布 NSPostWhenIdle 通知。

关于ios - 处理后台任务的更改请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20662807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com