运行时机制简介

运行时机制简介

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

原文地址:https://www.cnblogs.com/niexiaobo/p/4888699.html