这是我的代码:
NSOperationQueue * que = [[NSOperationQueue alloc] init];
NSBlockOperation * number1 = [NSBlockOperation blockOperationWithBlock:^{
CCActionRotateTo * rotLeft = [CCActionRotateBy actionWithDuration:4.2 angle:-70];
[_claw runAction:rotLeft];
}];
NSBlockOperation * number2 = [NSBlockOperation blockOperationWithBlock:^{
CCActionRotateTo * rotRight = [CCActionRotateBy actionWithDuration:4.2 angle:120];
[_claw runAction:rotRight];
}];
[number2 addDependency:number1];
[que addOperations:@[number1,number2] waitUntilFinished:YES];
但我无法弄清楚为什么数字2在number1之前执行而不等到第一个完成之后,任何帮助都会被赞赏=)
答案 0 :(得分:0)
由于您正在执行影响用户界面的操作,因此我认为您需要使用[NSOperationQueue mainQueue]
。
NSOperationQueue * que = [NSOperationQueue mainQueue];
默认情况下,init
NSOperationQueue
它将使用后台线程,这可能会导致您的UI更新延迟/永不运行。