Objective-Cのカテゴリ使って既存クラスの拡張書いてみた

日付に関する処理ならNSDateにメソッドを追加して処理したいと思っていたのですが、

カテゴリという機能を使えばできるという事がわかったので作ってみました。


これを使って、NSStringにbase64エンコード処理するメソッドとかNSDateに5分単位に時間を丸める処理とかを追加すると
いちいち別のメソッドを作らなくても、自分自身で処理することができます。

下記のjson-frameworkとかはカテゴリを使って既存クラスを拡張していたりします。
stig/json-framework · GitHub


例えばこれを

NSDate *date = [NSDate date];
NSDate *roundDate = [DateUtils roundDateTo5Minutes:date];

こう書き換えらます。

NSDate *date = [NSDate date] roundDateTo5Minutes];

ソース

こんな感じで書けばOK