依赖,不等到完成(Cocos2d / Objective-C)

时间:2014-10-28 20:39:19

标签: objective-c cocos2d-iphone

这是我的代码:

 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之前执行而不等到第一个完成之后,任何帮助都会被赞赏=)

1 个答案:

答案 0 :(得分:0)

由于您正在执行影响用户界面的操作,因此我认为您需要使用[NSOperationQueue mainQueue]

 NSOperationQueue * que = [NSOperationQueue mainQueue];

默认情况下,init NSOperationQueue它将使用后台线程,这可能会导致您的UI更新延迟/永不运行。