HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 在取消请求时NSOperation从NSOperationQueue中删除的确切时间?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在阅读一些文档,解释如何在NSOperationQueue中管理NSOperation.我的重点是,如果用户在进度面板中按下取消按钮或退出应用程序,则根本不执行操作.因此,取消操作以防止它不必要地消耗cpu时间.

因此,每当我需要取消操作时,我应该触发取消方法以防止进一步执行.然后我将不得不定期使用操作对象状态isCancelled来检查操作是否被取消.以下是我对此的疑问:

(1)在取消请求时,如果从NSOperationQueue中移除NSOperation,那么我们如何仍然引用该NSOperation及其属性被取消?

根据Apple Developer Class Reference:

(2)如果我使用ARC,我是否需要关心取消请求?我举个例子.我有2个视图控制器A和B.在B中,我使用NSOperation制作8到10个NSURLrequest并将所有请求放在NSOperationQueue中.这里NSOperationQueue的对象是视图控制器B的属性.因此,如果用户按下后退按钮返回到视图A,在ARC下,NSOperationQueue的对象应该被自动删除(当我弹出以查看A). ARC机制是否会取消所有操作,还是应该有一些机制来避免无用的执行?

解决方法

首先,只有当isFinished属性变为true时,才会从Queue中删除操作.其次,如果你释放B,那么队列将被释放并且操作也是如此.但是,您应该在代码中确保在以后的某个时间点没有引用这些操作对象或队列.

大佬总结

以上是大佬教程为你收集整理的ios – 在取消请求时NSOperation从NSOperationQueue中删除的确切时间?全部内容,希望文章能够帮你解决ios – 在取消请求时NSOperation从NSOperationQueue中删除的确切时间?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。