Aquí está la discusión de cuadras de mi libro:
http://www.apeth.com/iOSBook/ch03.html#_blocks
Hay un ejemplo allí, pero aquí hay un ejemplo que está más cerca de la clase de cosa que usted está preguntando por:
[self transitionFromViewController:fromvc
toViewController:tovc
duration:0.4
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:nil
completion:^(BOOL done){
[tovc didMoveToParentViewController:self];
[fromvc removeFromParentViewController];
}];
El bloque de finalización toma un parámetro, un BOOL llamado "hecho", pero esto no es usado por su código. La idea es que la animación se realice y luego se ejecute el código en el bloque de finalización.
Es muy importante sentirse cómodo con los bloques porque son la forma del futuro. Por ejemplo, la vista de la animación en IOS 4 los utiliza, como se explica en la sección "Bloquear visión basada en la animación" de mi libro (leer primero acerca de la manera antigua, a continuación, leer sobre el nuevo iOS 4 vías):
http://www.apeth.com/iOSBook/ch17.html#_view_animation
En iOS 5 bloques son aún más importantes; cada vez hay más situaciones en las que no son opcionales.
También los bloques son la forma de usar GCD (despacho de gran central), que es por mucho la mejor manera de hacer multi-threading.
Gracias Matt, parece un gran libro que has escrito, ¿algún plan para una versión de iOS 5? –
@Eddie: He empezado a convertir todos los ejemplos descargables para iOS 5: https://github.com/mattneub/Programming-iOS-4-Book-Examples/tree/master/convertedToIOS5 Más información a seguir ... – matt