self.myArray = @[ [^{ NSLog(@"a"); } copy],
[^{ NSLog(@"b"); } copy]];
... Później ....Jak wylicza się na tablicy bloków?
[self.myArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
// This syntax is wrong, but I hope you get my intention
void (^) (void) block = obj;
block();
}];
Jak wyrzucam bloku gdy wyliczanie nad nim? (Bonus jeżeli można to zrobić bez typedef)
+ 1 do zmieniania listę argumentów - Nie wiedziałem, że można to zrobić! – Robert
możesz użyć NSOperationQueue i - [Operacja NSOperationWithBlock:] zamiast bezpośrednio zapisywać bloki w tablicy. Jeśli istnieje klasa do tego celu (z możliwością rozpoczęcia/zatrzymania wykonania) zaprojektowaną przez programistów Apple, powinieneś zdecydowanie użyć jednego. –