美文网首页
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