¿Qué hace exactamente removeOnCompletion = NO?

CAAnimation proporciona la propiedad removeOnCompletion que por defecto es YES.

Reconozcamos estos hechos:

A) Core Animation solo afecta al Árbol de presentación, pero no al Árbol modelo. Cuando se realiza una animación, terminas viendo lo que está configurado en el Árbol modelo. Puede establecer un fillMode en kCAFillModeBoth, por ejemplo, que intercambiará el valor del Árbol de presentación al Árbol modelo una vez que se complete la animación. Esto hace que su animación no retroceda (lo que probablemente sea lo que desea).

B) Hice un experimento. eliminadoOnCompleción = NO seráNO tienen el mismo efecto que kCAFillModeBoth o kCAFillModeForwards. Para ser más precisos: no tiene absolutamente ningún efecto en cómo se ve el resultado cuando se realiza la animación. Si se "elimina" o no, parece no afectar en absoluto el Árbol de presentación.

Para explicar qué hace realmente eliminadoOnCompletion, la documentación es demasiado débil a este respecto. No lo entiendo ¿Alguien puede explicar qué se eliminaría exactamente y cuál es el beneficio de no eliminarlo?

Supongo que Apple está hablando del objeto animador en sí, que se agrega a la capa con -addAnimation: forKey: ... pero de nuevo: ¿Cuál es el punto de mantenerlo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta