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)

上一篇下一篇

猜你喜欢

热点阅读