Blocksの活用法について
iphone_dev_thk 仙台iOS開発者勉強会! 2012/3/3 にて「Blocksの活用法」について発表してきました。内容はBlocksの基本的な部分の説明と下記の3つのソース解説です。
- iOSコーディングスタイルを変えてしまうBlocksKitの紹介
- Blockを利用し使いやすくUITableViewをカテゴリで拡張する
- UIViewControllerの基底クラスの拡張
勉強会ではBlocksの仕様、挙動、ハマりどころを踏まえ、拡張のテクニック等の突っ込んだコアな内容までやったので時間的にも多少厳しかったかもしれません。まあ便利になりそうな雰囲気だけでも掴んでもらえればと思います。
今回の勉強会で使用した資料とサンプルコードはアップしてありますので参照ください。
スライド
Blocksの活用法
View more presentations from Hidetoshi Mori
解説に使用したサンプルコード
https://github.com/hmori/MyBlocks
今回サンプルコード解説では大きく分けて、BlocksKit自体の使い方、UITableView+BlocksKitExtendsの実装と使い方、UIViewControllerの基底拡張クラスの実装と使い方を中心に行いました。
MyBlocksでは下記のそれぞれ下記のGroupに実装しています。
- BlocksKitSample (BlocksKitの使い方)
- TableViewSample (UITableView+BlocksKitExtendsの使い方)
- ViewLifeCycleSample (UIViewControllerの基底拡張クラスの実装と使い方)
まず最初にソースを見ないで色々と動作させてみて実装方法をイメージしてみてから、実際にソースを見てみるとかなりギャップがあると思います。色々と無茶してはいますがスマートに纏まっています。Blocksによる拡張はアイディア次第で疎結合な実装が簡潔に行え、ビジネスロジック部を切り出すことが可能です。
本当にiOSコーディングスタイルを変えるほどのインパクトがありますので、これを機にBlocksの拡張実装を検討してみては如何でしょうか。