ios – 在Swift中触摸屏幕时取消的异步任务

ios – 在Swift中触摸屏幕时取消的异步任务,第1张

概述我正在开发一个应用程序,每页有5个动画.单击它们时会启动每个动画.如果没有按任何图像,在5秒内协助用户,援助被释放.对于每个动画重复此 *** 作,如果单击动画1,当动画结束时,它会将计数器返回5秒,但在任何动画中按下这5秒钟时,计数器应该被取消.我可以管理吗?直到现在用dispatch_after而不是如何取消 如果您希望取消 *** 作,一种简单的方法是使用NSBlockOperation. let oper 我正在开发一个应用程序,每页有5个动画.单击它们时会启动每个动画.如果没有按任何图像,在5秒内协助用户,援助被释放.对于每个动画重复此 *** 作,如果单击动画1,当动画结束时,它会将计数器返回5秒,但在任何动画中按下这5秒钟时,计数器应该被取消.我可以管理吗?直到现在用dispatch_after而不是如何取消解决方法 如果您希望取消 *** 作,一种简单的方法是使用NSBlockOperation.

let operation = NSBlockOperation()operation.addExecutionBlock { () -> VoID in    let time = dispatch_time(disPATCH_TIME_Now,Int64(5 * NSEC_PER_SEC))    dispatch_after(time,dispatch_get_main_queue(),{ () -> VoID in        if operation.cancelled {            return        } else {            // perform your animation        }    })}

要开始你的 *** 作:

operation.start()

如果您想取消您的 *** 作:

operation.cancel()

如果你的 *** 作有很多阶段,你应该定期检查operation.cancelled – 调用cancel()除了设置为true之外什么都不做.

对于更复杂的工作,您可以在依赖项中将多个 *** 作链接在一起,并将它们放在NSOperationQueue中.

总结

以上是内存溢出为你收集整理的ios – 在Swift中触摸屏幕时取消的异步任务全部内容,希望文章能够帮你解决ios – 在Swift中触摸屏幕时取消的异步任务所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存