at_yasu's blog

ロード的なことを

Obj-Cのオブジェクト/クラスの親クラスを知る方法。

クラス(From HMDT)を参考にしていたけど、10.5からはAPIが変わったのでメモ。

10.4までだと、クラス名や親クラスは書きのように取って来れます。

const char *class_name = Class->name; // クラス名
const Class super_class = Class->super_class; // 親クラス


10.5からだと、関数を使わないと取って来れません。

const char *class_name = class_getName(Class); // クラス名
const Class super_class = class_getSuperclass(Class); // 親クラス


で、書いている時に気づいたんだけど、「Class class_setSuperclass(Class cls, Class newSuper)」って何だろう、「AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER OBJC2_UNAVAILABLE」が付いているから、「Objective-C 2.0」に非対応の場合に呼び出されるみたいだけど・・・