1,動態創建對象
1.1 ?id class_createInstance ( Class cls, size_t ?extraBytes );
1.2 ?id objc_constructInstance ( Class cls, void *bytes );
1.3 void * objc_destructInstance ( id obj ); //銷毀一個實例
2,把父類對象轉換為子類對象
NSObject *a = [[NSObject alloc] init];
id newB = object_copy(a, class_getInstanceSize(MyClass.class));
object_setClass(newB, MyClass.class);
object_dispose(a);
//MyClass繼承自NSObject。
3,讀寫對象的實例變量
3.1 修改實例變量的值
Ivar object_setInstanceVariable ( id obj, const char *name, void *value );
void object_setIvar ( id obj, Ivar ivar, id value );
3.2 獲取實例變量的值
Ivar object_getInstanceVariable ( id obj, const char *name, void **outValue );
id object_getIvar ( id obj, Ivar ivar );
3.3 獲取對象的類
Class object_getClass ( id obj );
3.4 設置對象的類
Class object_setClass ( id obj, Class cls );
3.5 返回對象的類名
const char * object_getClassName ( id obj );