Deferredとは?
元ネタはjsからきた. 既存では非同期処理において完了,未完了の場合ごとにBlock実行をするというアイディアだったが そうはせずに, 完了,未完了の状態を持ったDefferedオブジェクトを即座に返すと言う方針.
Defferedオブジェクトは完了もしくは未完了の状態になると登録したコールバックが実行される. オブジェクトが返るのでメソッドチェインでつなげられて 複数の非同期処理が扱いやすい.
以下のケースで有用
非同期処理が複数ある場合
非同期処理中に場合分けする場合
この記事がとてもよい : http://qiita.com/saiten/items/c2ac4df40ad001179afa
多言語の概念が流入するケースが多いので, Objc以外の言語を学ぶこともあながち間違いではない.
参考 http://qiita.com/saiten/items/c2ac4df40ad001179afa http://qiita.com/mokemokechicken/items/72cf7bd25033d3aa0104