- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我面临与 NSoperationQueue 相关的问题。在我的代码中:
-(void) viewDidLoad
{
//Initialisation of queue and operation.
//adding operation to queue
[self.operationQueue addOperation:op];
}
-(void) viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[self.operationQueue cancelAllOperations];
}
所以在执行我的 NSOperation 主函数期间,当我检查 isCancelled 属性时,它总是返回 NO。事实上在调用 NSOperationQueue 上的 cancellAllOperation 之后。例如。
-(void)main
{
if(self.isCancelled)
{
// Never executing this block :-(
}
}
有关更多详细信息,我正在我的 NSOperation 中进行一些网络调用。当我切换到其他 View 时,将调用 cancelAllOperation。当网络响应在我的 NSOperation 中返回时,我正在检查 if(Self.isCancelled),现在我在另一个 View 中(意味着 isCancelled 应该设置为 YES)。但是这个检查总是失败。
最佳答案
在 viewDidLoad
中加载 View 后,您的操作就被添加到队列中,然后队列将承担开始操作的责任。
由于您在 View 消失 (viewWillDisappear
) 时取消操作,因此操作很可能会在此时完成。换句话说,您的操作在终止后被取消。您可以检查 isExecuting
属性以了解该操作是否正在运行。
关于ios - 在 NSoperationQueue 上调用 -(void) cancelAllOperations 不会设置队列中存在的 NSOperation 的 isCancelled 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16386317/
如何取消 NSOperationQueue 中的所有操作?我使用了cancelAllOperations方法,但它不起作用,NSOperationQueue仍在调用服务器上传照片。 我用循环将每个连接
我正在努力应对以下情况,请耐心等待,因为我已尽力尽可能清楚地解释这一点: 我有一个类 CoummintyOperation,它是 GroupOperation 的子类。 CommuityOperati
cancelAllOperations() 对 mainQueue 不起作用(cancel() 方法未在 NSOperation 对象上调用)。我错过了什么吗?我必须遍历所有操作并调用 cancel(
我的代码: NSOperationQueue *queue; -(void)viewDidLoad { queue = [NSOperationQueue new]; NSOperat
我在我的 iOS 应用程序中创建了这个队列,我想停止它: 在我的 .h 文件中: NSOperationQueue *uhm; 在我的 .m 文件中: 在 viewDidLoad:NSOperatio
我面临与 NSoperationQueue 相关的问题。在我的代码中: -(void) viewDidLoad { //Initialisation of queue and operatio
我是一名优秀的程序员,十分优秀!