我在后台线程上运行一个选择器,然后我需要调用主线程并且它工作得很好,但是当有很多选择器在后台运行并且他们尝试在主线程上调用一个选择器时,它有时会被调用,有时不会。我可以看到代码到达那里,因为我正在使用 NSLog(); 打印
这就是我在后台调用选择器的方式:
NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc]
initWithTarget:self
selector:@selector(getPath:)
object:datos];
[queue addOperation:operation];
[operation release];
这就是后台方法调用主线程方法的方式:
NSLog(@"Arrives here");
[self performSelectorOnMainThread:@selector(setPath:) withObject:array waitUntilDone:YES];
为什么有时有效,有时无效?