CocoaにはBlocksには対応しておらず、Protocolが用意されておりDelegateを使ってcallbackやeventを受け取るようになってるものが多数ある。 いちいちProtocolを実装しないといけなくて煩わしさを感じたり、コードが煩雑になってしまう場合がある。 そこで簡単にBlocks対応にしてしまう方法をご紹介。 StoreKitを例に StoreKitのProductsRequestもDelegateが用意されており、Blocksに非対応なクラス。 In-App-Purchase用のAppStoreにある商品情報を取得するためのクラスだが、初回の取得は遅く2回目以降は早いという特徴が知られていて、AppDelegateなどで、先に一度取得しておくのが通例になっているらしい。 ところがAppDelegateでわざわざこのクラスのDelegateを実装するのは面倒。 そこ