Ios NSInvocationOperation-不在其他线程上调用方法?
所以我有一个服务clint类,它有一个名为fetch的方法。 我正在使用NSInvocationOperation调用此方法。当我检查线程时,它看起来像是在调用主线程上的方法。使用NSInvocationOperation异步运行不是目的吗 调用方法Ios NSInvocationOperation-不在其他线程上调用方法?,ios,multithreading,nsinvocationoperation,Ios,Multithreading,Nsinvocationoperation,所以我有一个服务clint类,它有一个名为fetch的方法。 我正在使用NSInvocationOperation调用此方法。当我检查线程时,它看起来像是在调用主线程上的方法。使用NSInvocationOperation异步运行不是目的吗 调用方法 ServiceClient *client = [[ServiceClient alloc] init]; NSInvocationOperation *invocatopnOperation = [[NSInvocationOperation a
ServiceClient *client = [[ServiceClient alloc] init];
NSInvocationOperation *invocatopnOperation = [[NSInvocationOperation alloc] initWithTarget:client selector:@selector(fetch) object:nil];
[invocatopnOperation start];
服务客户端中的方法
- (void)fetch
{
if ([[NSThread currentThread] isEqual:[NSThread mainThread]])
{
NSLog(@"NOOOOOO");
}
............
}
从NSInvocationOperation类参考: NSInvocationOperation类是NSOperation的一个具体子类 它管理指定为的单个封装任务的执行 召唤。您可以使用该类来启动 包括调用指定对象上的选择器这个类 实现非并发操作 这意味着为了异步执行操作,您需要将其添加到操作队列中