NSOperation的监听和依赖

来源:互联网 发布:dnfwin10优化 编辑:程序博客网 时间:2024/04/28 04:15

示例代码



#import "ViewController.h"@interface ViewController ()@end@implementation ViewController-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{    NSOperationQueue *queue=[[NSOperationQueue alloc]init];    NSOperationQueue *queue2=[[NSOperationQueue alloc]init];        NSBlockOperation *op1=[NSBlockOperation blockOperationWithBlock:^{        NSLog(@"1---------------%@",[NSThread currentThread]);    }];            NSBlockOperation *op2=[NSBlockOperation blockOperationWithBlock:^{        NSLog(@"2---------------%@",[NSThread currentThread]);    }];        NSBlockOperation *op3=[NSBlockOperation blockOperationWithBlock:^{        NSLog(@"3---------------%@",[NSThread currentThread]);    }];        NSBlockOperation *op4=[NSBlockOperation blockOperationWithBlock:^{        NSLog(@"4---------------%@",[NSThread currentThread]);    }];            //操作监听    op3.completionBlock=^{        NSLog(@"++++done");    };                //添加操作依赖 不能循环依赖 可以跨队列依赖    [op1 addDependency:op4];    [op4 addDependency:op3];    [op3 addDependency:op2];            [queue addOperation:op1];    [queue addOperation:op2];    [queue addOperation:op3];    [queue2 addOperation:op4];    }@end


0 0