Objective-Cのカテゴリの仕組みを使うと、既存クラスに手を加えることなく機能を追加することができます。たとえば、NSArrayで配列内の要素をシャッフルしたい場合、ヘッダファイルを作成してシャッフル用メソッドを定義し、 @interface NSArray (Shuffle) - (NSArray *)shuffle; @end 下記のように実装しておけば、 @implementation NSArray (Shuffle) - (NSArray *)shuffle { // NSArray の要素をシャッフルするコード } @end あとはヘッダファイルをimportするだけでshuffleというメソッドがNSArrayのオブジェクトから使用できるようになります。 このように、カテゴリという仕組みを使用すると使い回しのしやすい形で既存クラスを機能拡張できるため、UIKitやFou
![第3回 実装の面倒な部分をうまくラップしてくれている便利カテゴリ3選 | gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/23c932dfab5357dd94ee57fdbdebf3a46143e79c/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2FICON%2F2012%2F941_ios_oss.png)