先说一下我想做什么:
我想要在一个类A中调用另一个viewcontroler显示动画,在动画执行完之后类A继续执行
我当前的做法:
在类A中新建线程,线程中调用动画函数,并在线程前加锁,在动画执行完之后调用animationDidStop解锁。
遇到的问题:
执行完之后不会调用animationDidStop,但是如果我使用定时则可以调用animationDidStop
以下是我大致的代码:
我想要在一个类A中调用另一个viewcontroler显示动画,在动画执行完之后类A继续执行
我当前的做法:
在类A中新建线程,线程中调用动画函数,并在线程前加锁,在动画执行完之后调用animationDidStop解锁。
遇到的问题:
执行完之后不会调用animationDidStop,但是如果我使用定时则可以调用animationDidStop
以下是我大致的代码:
//类A:
[_lock lock];
[NSThread detachNewThreadSelector:@selector(moveChess) toTarget:self withObject:nil];
[_lock lock];
NSLog(@"_lock locked");
[_lock unlock];
/*使用定时则可以调用animationDidStop
[NSThread detachNewThreadSelector:@selector(moveChess) toTarget:self withObject:nil];
[NSThread sleepForTimeInterval:0.5f];
*/
//moveChess
-(void)moveChess{
NSLog(@"moveChess... ...");
[self->_delegate moveChess:_preTag toTag:_tag];