runtime —— objc.h
2017-12-08 本文已影响25人
李潇南
runtime
一个c语言库,OC是C语言的超级,封装,即OC运行时会全部转化为C语言,即runtime的函数库。
此篇目的是写所有的runtime函数,打印出来,空闲时间去看看。
objc.h文件
typedef struct objc_class * Class;
struct objc_object {
Class _Nonnull isa OBJC_ISA_AVAILABILITY;
}
typedef struct objc_object *id;
typedef struct objc_selector *SEL;
typedef void (*IMP)(void /* id, SEL, ...*/)
typedef id _Nullable (* IMP)(id _ Nonnull, SEL _Nonnull, ...)
OBJC_EXPORT const char * _Nonnull sel_getName(SEL _Nonnull sel) OBJC_AVAILABLE (10.0,2.0.9.0...)
OBJC_EXPORT SEL _Nonnull sel_registerName(const char * _Nonnul str)
OBJC_EXPORT const char * _Nonnull object_getClassName(id _Nullable obj)
OBJC_EXPORT void * _Nullable object_getIndexedIvars(id _Nullable obj) OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0)
OBJC_ARC_UNAVAILABLE; (ARC 下不可用)
OBJC_EXPORT BOOL sel_isMapped(SEL _Nonnull sel)
OBJC_EXPORT SEL _Nonnull sel_getUid(const char * _Nonnull str)