Qué hace exactamente el parámetro bool en animateWithDuration: animaciones: finalización:

Me referí a laDO y decía:

terminació
... Este bloque no tiene valor de retorno y toma un solo argumento booleano que indica si las animaciones realmente terminaron o no antes de que se llamara al controlador de finalización. ...

Pero encuentro que no importa si usa el parámetro bool o no, lacompletion: block siempre se ejecutará después deanimations: bloque. Al igual que los dos fragmentos de código de animación basados en bloques simples que se muestran a continuación, ambos están haciendo lo mismo.

[UIView animateWithDuration:0.3f
                  delay:0.0f
                options:UIViewAnimationCurveEaseInOut
             animations:^{
                 [myView setAlpha:0.0f];
             }
             completion:^(BOOL finished) {
                 [myView removeFromSuperview];
             }];

[UIView animateWithDuration:0.3f
                  delay:0.0f
                options:UIViewAnimationCurveEaseInOut
             animations:^{
                 [myView setAlpha:0.0f];
             }
             completion:^(BOOL finished) {
                 if (finished) [myView removeFromSuperview];
             }];

Y encuentro que la mayoría de las personas (incluyéndome a mí) usa el primero (incluso el ejemplo de documento oficial de la manzana). Entonces

¿Cuál es elfinished parámetro utilizado para aquí exactamente? o cuál será la situación se utilizará?

Respuestas a la pregunta(2)

Su respuesta a la pregunta