Animação principal - modificar propriedade da animação

Eu tenho animação

 func startRotate360() {
    let rotation : CABasicAnimation = CABasicAnimation(keyPath: "transform.rotation.z")
    rotation.fromValue = 0
    rotation.toValue =  Double.pi * 2
    rotation.duration = 1
    rotation.isCumulative = true
    rotation.repeatCount = Float.greatestFiniteMagnitude
    self.layer.add(rotation, forKey: "rotationAnimation")
}

O que eu quero é a capacidade de interromper a animação, definindo sua contagem de repetições como 1, para que ele complete a rotação atual (simplesmente remover a animação não está ok porque não parece bom)

Eu tento seguir

func stopRotate360() {
    self.layer.animation(forKey: "rotationAnimation")?.repeatCount = 1
}

Mas eu travo e no console

tentando modificar animação somente leitura

Como acessar propriedades graváveis?

questionAnswers(2)

yourAnswerToTheQuestion