0
есть ли быстрый гуру, который знал бы, как преобразовать этот код в объектив-с в Свифт?Swift Guru, способный преобразовать этот объектив-c в Swift?
SCNAnimationEventBlock chainEventBlock = ^(CAAnimation *animation, id animatedObject, BOOL playingBackward) {
[self.mainSkeleton addAnimation:secondAnim forKey:secondKey];
};
if (firstAnim.animationEvents == nil || firstAnim.animationEvents.count == 0) {
firstAnim.animationEvents = @[[SCNAnimationEvent animationEventWithKeyTime:fadeTime block:chainEventBlock]];
} else {
NSMutableArray *pastEvents = [NSMutableArray arrayWithArray:firstAnim.animationEvents];
[pastEvents addObject:[SCNAnimationEvent animationEventWithKeyTime:fadeTime block:chainEventBlock]];
firstAnim.animationEvents = pastEvents;
}
В Swift, я попробовал:
var chainEventBlock : ((CAAnimation , AnyObject , Bool) -> (SCNAnimationEventBlock))?
chainEventBlock = { (animation, animatedObject, playingBackward)->(SCNAnimationEventBlock) in
return self.mainSkeleton?.addAnimation(anim2, forKey: secondKey)
}
if anim1?.animationEvents == nil || anim1?.animationEvents.count == 0 {
anim1?.animationEvents = [SCNAnimationEvent(keyTime: fadeTime, block: chainEventBlock)]
}
Ошибка:
Благодаря
Отлично, спасибо Rengers – Paul