iOS开发技巧

IOS多线程-NSOperation

2015-07-09  本文已影响193人  静之先生

NSOperation

NSOperationQueue的队列类型

如何创建队列

//自己创建队列
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
//获取主队列
NSOperationQueue *queue = [[NSOperationQueue mainQueue]

如何创建任务

//方式1,执行这个任务的时候会自动调用opRunOne这个自定义的函数
NSInvocationOperation *op1 = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(opRunOne) object:nil];
//方式2
NSBlockOperation *op3 = [NSBlockOperation blockOperationWithBlock:^{
        NSLog(@"op3------%@",[NSThread currentThread]);
    }];

NSOperation线程间通信的方法

 [[[NSOperationQueue alloc] init] addOperationWithBlock:^{
        //在自定义的队列中执行的代码
       __block UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"123"]];
        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
           //在main队列中执行的代码
            image = nil;
        }];
    }];
上一篇 下一篇

猜你喜欢

热点阅读