P62-78 メソッド
メソッドとは何か
- 3要素:メソッド、セレクタ、メソッドの実装
- Method型
struct objc_method { SEL method_name; char *method_types; IMP method_imp }
typedef id (*IMP)(id, SEL, ...);
- あるクラスに対するすべてのメソッドリストの取得
- struct objc_method_list* class_nextMethodList(Class classObject, void** iterator);
- 引数の型のエンコーディング
- セレクタ配列
- ビルトインセレクタ
- objc-sel-table.hでCocoaで使われるセレクタが宣言されている
- IMPの取得
NSString* object; SEL selector; object = @"Objective-C"; selector = @selector(length); Method method; IMP imp; method = class_getInstanceMethod([object class], selector); imp = method->method_imp;
- メソッド実装の食説呼び出し
- 動的特性がなくなるが高速化できる
メソッドについて。凄く丁寧に解説されていて面白い。
しかし、この辺あまり使わなくてすぐに忘れそうなのが怖い。
- 作者: 木下誠
- 出版社/メーカー: ビー・エヌ・エヌ新社
- 発売日: 2009/03/27
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 119回
- この商品を含むブログ (31件) を見る