Estaba pensando, ya que puedes tratar bloques como objetos si creo dos de ellos y luego los agrego a un NSArray ¿hay alguna forma de ejecutarlos desde el arreglo?Ejecutando bloques desde NSArray?
int (^Block_001)(void) = ^{ return 101; };
int (^Block_002)(void) = ^{ return 202; };
NSArray *array = [NSArray arrayWithObjects:Block_001, Block_002, nil];
EDIT: Actualización para mayor claridad por una excelente respuesta de @ davedelong
int (^Block_001)(void) = [^{ return 101; } copy];
int (^Block_002)(void) = [^{ return 202; } copy];
NSArray *array = [NSArray arrayWithObjects:Block_001, Block_002, nil];
[Block_001 release];
[Block_002 release];
Un buen conjunto de respuestas ... Vi el título y esperaba algunos puntos de repetición fáciles. La gente lo cubrió completamente. :) – bbum
Solo un punto rápido, si no copias/sueltas, el bloque estará en la pila ... Entonces, si la pila se destruye, la aplicación se bloqueará ¿no? – fzaziz