は、私の本からのブロックの議論です:
http://www.apeth.com/iOSBook/ch03.html#_blocks
あり例がありますが、ここであなたが約求めているもののようなものに近いです例です:
[self transitionFromViewController:fromvc
toViewController:tovc
duration:0.4
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:nil
completion:^(BOOL done){
[tovc didMoveToParentViewController:self];
[fromvc removeFromParentViewController];
}];
完了ブロックは1つのパラメータ、「完了」と呼ばれるBOOLをとりますが、これはそのコードでは使用されません。アイデアは、アニメーションが実行され、次に完了ブロック内のコードが実行されるというものです。
ブロックが将来の方法であるため、ブロックを快適にすることは非常に重要です。たとえば、iOSの4のビューのアニメーションが私の本の「ブロックベースのビューアニメーション」のセクションで説明したように、それらを使用しています(その後、新しいiOSの約4道を読んで、古い方法について最初に読んで):
http://www.apeth.com/iOSBook/ch17.html#_view_animation
iOS 5ブロックではさらに重要です。それらがオプションではない状況がますます増えています。
ブロックは、GCD(グランドセントラルディスパッチ)を使用する方法です。これは、マルチスレッドを実行するための最良の方法です。
あなたが書いた素晴らしい本のように見えるマット、ありがとう、iOS 5バージョンの計画はありますか? –
@Eddie:ダウンロード可能なすべての例をiOS 5に変換し始めました。 https://github.com/mattneub/Programming-iOS-4-Book-Examples/tree/master/convertedToIOS5 ... – matt