Runtime发送消息机制

[Runtime]-发送消息

感情迁移 提交于 2019-12-06 17:57:17
1:任何方法调用的本质 : 发送一个消息,用Runtime发送消息,OC底层的实现就是使用Runtime去实现的. 2:怎样验证:方法调用,是否真的是转化为消息机制呢? > 01-最终生成消息机制,是编译器做的事情 > 02-如果想看最终代码,需要把当前代码重新编译,使用xcode编译器: clang编译器 去重新编译就可以看到 使用clang编译器去查看最终的消息机制代码步骤? >: 打开xcode新建工程-->选择OS X、Application-->Command Line Tool-->创建一个命令行工程 >: 然后在main.m文件中,创建对象,如: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { id objc = [NSObject alloc]; objc = [objc init]; } return 0; } >: 打开终端:进入该工程中的目录下,main.m的上一级目录,cd +(目录下) >:使用这个命令:clang -rewrite-objc main.m ,就会在main.m同级目录下生成一个main.cpp文件,打开双击就可以看到最终的代码:按住command + f--->搜索autoreleasepool--