NSInvocationOperation简介

2016-12-15  本文已影响66人  行走的栀子花

简书写的第二篇文章,紧接着上一篇而来,照常将苹果官方文档翻译如下:

NSInvocationOperation是NSOperation的一个具体的子类,用来管理一个由invocation对象封装的任务的执行操作。你可以利用NSInvocationOperation类来执行一个操作,这个操作由方法和指定的object对象(参数)组成。这个操作是非并发执行的。

这是一个简单的对任务进行封装的类,是NSOperation的具体的子类,我们可以直接使用。
初始化的方式又两种,一种是

NSInvocationOperation *invocationOperation = [[NSInvocationOperation alloc]initWithTarget:self selector:@selector(doSomething:) object:@"仰望星空的小哥"];```
第二种
NSInvocationOperation *invocationOperation = [[NSInvocationOperation alloc]initWithInvocation:invocation];```

感觉和NSBlockOperation的功能也没多少差别,不知道苹果为什么要弄出这么一个方便使用的类出来,如果有人知道请留言告诉我,非常感谢。

NSInvocationOperation使用方法如下:

- (IBAction)doInvocationOperationAction:(id)sender{
    //创建一个NSInvocationOperation对象
    NSInvocationOperation *invocationOperation = [[NSInvocationOperation alloc]initWithTarget:self selector:@selector(doSomething:) object:@"仰望星空的小哥"];
    [invocationOperation start];
    NSString *result = [invocationOperation result];
    NSLog(@"result:%@",result);
}```

第二种方式
上一篇 下一篇

猜你喜欢

热点阅读