美文网首页
runtime —— objc.h

runtime —— objc.h

作者: 李潇南 | 来源:发表于2017-12-08 10:59 被阅读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)
    
    

    相关文章

      网友评论

          本文标题:runtime —— objc.h

          本文链接:https://www.haomeiwen.com/subject/wlteixtx.html