NO,OC的重要工作都由”运行期组件(runtime component)”而非编译器来完成,实际上,使用OC的面向对象特性所需的全部数据结构及函数都是在运行期组件里面。
举例来说:
运行期组件中含有全部内存管理方法。
那么’’运行期组件”是什么?
运行期组件本质上就是一种与开发者所编代码相链接的”动态库(dynamic libary)”,其代码能把开发者编写的所有程序粘合起来。
这样做的好处是 只需更新运行期组件,即可提升应用程序性能。而那些许多工作都在”编译期(compile time)” 完成的语言,若想获得性能的提升,则要重新编译应用程序代码。