运行时机制简介
Runtime
Runtime is everything between your each function call!
Objective-C 程序可以在三个不同层面与运行时系统交互:
pObjective-C源程序
p通过NSObject类中定义的方法
p直接调用运行时函数
大多数情况下,运行时系统仅在幕后自动工作,主要用于编写和编译Objective-C源程序
在联机帮助中查找Runtime文档
OC/C/C++的编译过程
使用Clang将.m文件重写为cpp文件
打开终端
pcd 项目文件目录
pclang -rewrite-objc main.m
popen main.cpp
提示:要了解底层实现机制,重写的代码越简单越好
runtime演练——获取对象属性数组
字符串赋值
objc_msgSend
class_copyPropertyList
关于ARC & MRC
ARC是在运行时完成对象的Retain和Release的,不需要程序员参与
苹果公司的编译器开发人员对ARC已经做过无数次测试,可以说用ARC几乎不会出现内存管理错误的情况
另外由于编译的额外优化,使得ARC的代码比程序员手动管理内存的代码执行效率要高很多
Q & A