美文网首页
objc-runtime.h/runtime.h/NSObjCR

objc-runtime.h/runtime.h/NSObjCR

作者: nalis风 | 来源:发表于2016-07-15 23:20 被阅读243次

    objc-runtime.h 中代码:

    #include <objc/runtime.h>

    #include<objc/message.h>

    message.h封装着objc_msgsend(),objc_msgsendSuper()等方法

    所以想要使用以上方法得引入objc-runtime.h

    runtime.h 就是我们平时使用runtime机制常调用的头文件

    NSObjCRuntime.h它和runtime.h一样都引用了

    TargetConditionals.h和objc/objc.hNSO...中全是宏定义和预编译指令

    核心代码:

    #if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64

    typedeflongNSInteger;

    typedefunsignedlongNSUInteger;

    #else

    typedefintNSInteger;

    typedefunsignedintNSUInteger;

    #endif

    由此看,NSO...主要做不同设备上NSInteger类型切换的。

    欲编译指令翻译:(可能不太准确,如果有错期待你的指点)

    #if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64

    设备 为64位 或 使用的操作系统是嵌入式的并且使用的不是苹果系统 或 是win32位系统 或 创建时是32位但支持64位

    相关文章

      网友评论

          本文标题:objc-runtime.h/runtime.h/NSObjCR

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