Вложение анимации в первый блок завершения анимации - это прекрасно. Но для группировки нескольких анимаций стоит рассмотреть CAAnimation Groups.
вот учебник Ray Wenderlich, который проходит простую CAAnimationGroup
Документация Apple имеет отличный пример, но вы ДОЛЖНЫ указать beginTime для каждого анимация (в противном случае каждая анимация запускается одновременно):
let fadeOut = CABasicAnimation(keyPath: "opacity")
fadeOut.fromValue = 1
fadeOut.toValue = 0
fadeOut.duration = 1
fadeOut.beginTime = 0.0
let expandScale = CABasicAnimation()
expandScale.keyPath = "transform"
expandScale.valueFunction = CAValueFunction(name: kCAValueFunctionScale)
expandScale.fromValue = [1, 1, 1]
expandScale.toValue = [3, 3, 3]
expandScale.beginTime = fadeOut.beginTime + fadeOut.duration
let fadeAndScale = CAAnimationGroup()
fadeAndScale.animations = [fadeOut, expandScale]
fadeAndScale.duration = fadeOut.duration + expandScale.duration