2012/05/08

Blocksでバックグラウンド処理を楽にしよう!


どうも taka です。

Objective-Cの事も書いておかないとiPhoneアプリ技術者だと思ってもらえないのでは?
と思い、今回はObjective-Cのネタを書きたいと思います。

内容は『Blocksでバックグラウンド処理を楽にしよう!』です

slidropでは色んな所でバックグラウンド処理を使っています。

このネタの効能は、

  1. 可読性があがった!
  2. 楽に使えるようになった!

です。是非使ってみて下さい。

■普通に書くと?



という感じになります。

ちょっとした処理をバックグラウンドに回したい時、
メソッドをわざわざ書かないといけないのが残念…。

そして、バックグラウンド処理に回す場合は

@autoreleasepool

でくくっておかないとメモリリークします。

■NSObjectを拡張してみる

そこで、Blocksを使えるようにNSObjectを拡張します。

NSObject+Extensions.h


NSObject+Extensions.m


■使ってみる!



■まとめ

楽になったね!

でも、一時期楽しくなって使い過ぎたらパフォーマンスが悪くなりました(笑)

■おまけ
この延長線上で、performSelectorXXX系をBlocksが使えるように拡張すると更に便利です。

NSObject+Extensions.h


NSObject+Extensions.m