Oto dyskusja bloków z mojej książki:
http://www.apeth.com/iOSBook/ch03.html#_blocks
Jest to przykład tam, ale tutaj jest przykład, który znajduje się bliżej rodzaju rzeczy pytasz o:
[self transitionFromViewController:fromvc
toViewController:tovc
duration:0.4
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:nil
completion:^(BOOL done){
[tovc didMoveToParentViewController:self];
[fromvc removeFromParentViewController];
}];
Blok zakończenia przyjmuje jeden parametr, BOOL - "done", ale nie jest on używany przez jego kod. Chodzi o to, że animacja jest wykonywana, a następnie uruchamiany jest kod w bloku zakończenia.
Bardzo ważne jest, aby czuć się komfortowo z blokami, ponieważ są one drogą przyszłości. Na przykład, widok animacji w iOS 4 używa ich, jak wyjaśniono w sekcji „Blok Based View Animacja” mojej książki (najpierw przeczytać o starej drodze, a potem czytać o nowych iOS 4 sposób):
http://www.apeth.com/iOSBook/ch17.html#_view_animation
W iOS 5 bloków jest jeszcze ważniejszych; jest coraz więcej sytuacji, w których nie są one opcjonalne.
Również bloki są sposobem użycia GCD (grand central dispatch), który jest zdecydowanie najlepszym sposobem na wielowątkowość.
Dziękuję matce, która wygląda jak świetna książka, którą napisałeś, jakieś plany na wersję dla systemu iOS 5 ?! –
@Eddie: Zacząłem konwersji wszystkie pobrania przykładów iOS 5: https://github.com/mattneub/Programming-iOS-4-Book-Examples/tree/master/convertedToIOS5 Więcej informacji do naśladowania ... – matt