【问题标题】:How to get completion block of NSOperationQueue [duplicate]如何获得 NSOperationQueue 的完成块 [重复]
【发布时间】:2015-03-11 04:04:37
【问题描述】:

如何获取 NSOperationQueue 的完成块,这里我想将活动指示器从所有操作的开始旋转到结束。

NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
// Set the max number of concurrent operations (threads)
[operationQueue setMaxConcurrentOperationCount:3];
[operationQueue addOperations:@[operation, operation1, operation3,...] waitUntilFinished:NO];

谢谢。

【问题讨论】:

    标签: ios nsoperationqueue uiactivityindicatorview


    【解决方案1】:

    你需要实现KVO来观察。

    转到addDependency on operation,这将帮助您“isFinished key”的操作,并且所有依赖都解决了它执行KVN。之后,您可以运行自旋活动指标的逻辑。你也可以写一个块。检查以下代码:

    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
    NSBlockOperation *operationObj = [NSBlockOperation blockOperationWithBlock:^{
        NSLog(@"Show your activity...");
    }];
    
    [operationObj setCompletionBlock:^{
        NSLog(@"Operation has finished...");
    }];
    
    [queue addOperation: operationObj];
    

    检查以下参考网址

    Get notification when NSOperationQueue finishes all tasks

    When will completionBlock be called for dependencies in NSOperation

    【讨论】:

      猜你喜欢
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-19
      相关资源
      最近更新 更多