Runtime 概念

概念:

1,oc 是基于c  为c添加了面向对象的特性,他将很多静态语言在编译和链接时期做的事放到了runtime里面运行来处理,runtime就是oc的幕后工作人员

 

2,Runtime 就是运行时 是c和汇编的Api,而oc是运行机制,也就是在运行时候的一些机制,其中主要是消息机制

 

3,对于c而言,函数的调用在编译的时候会决定调用哪个函数

4,oc的函数调用是成为消息发送,属于动态调用过程,在编译的时候并不能真正决定调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用

 

5,事实证明,在编译阶段,oc可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错,只有当运行的时候才会报错,这是因为oc是运行时

动态调用,而c语言调用未实现的函数就会报错

 

runtime的消息机制

Oc在运行的时候也是转换runtime方法运行的,任何方法调用本质:就是发送一个消息(用runtime发送消息,oc底层实现是通过runtime实现

消息机制原理:对象根据方法编号SEL去映射表查找对应的方法实现

 

每一个oc的方法,底层必然有一个与之对应的runtime方法

OC当中任何一个类都是用objc_class这样一个结构体来描述的。

posted on 2017-11-25 16:29  廖利君  阅读(264)  评论(0编辑  收藏  举报