Objective-Cの学習2

ダイナミックObjective-Cの第6回から第11回まで読んだ。

カテゴリ

カテゴリごとにクラスを分割して管理できる
クラスにメソッドを追加することができる
これは便利そう、アプリケーションごとに必要な機能を既存のクラスに追加できる
iPhoneアプリのサンプル(公式でない)でもよく使われている
例えば、NSStringにurlencodeを追加したりするやつ

プロトコル

@protocolを使う方法

@protocol 
 - (void) method1:(id)hoge;
 - (void) method2:(id)fuga;
end

@protocolを使わない方法
NSObjectのカテゴリとして実装する
非形式プロトコルと呼ぶ
コンパイラのチェックがかからない
柔軟に実装可能
デリゲートによく使われる
非形式プロパティの方がよく使われている
これもよく見かけるなぁ
ImageStoreのサンプルでも使われていた。
こういう意味があったんだ。

ポージング

クラスの乗っ取り
poseAsClass
継承元の機能を乗っ取ることが可能
はじめて聞いた機能だな、荻原本に載っていなかったような気がする。