I was just thinking, as you can treat Blocks like objects if I create two of them and then add them to an NSArray is there a way to execute them from the array?
Of course you can.
int (^x)(void) = [array objectAtIndex:0]; printf("%d\n", x()); // prints 101.