对iOS Runtime的理解
来源:互联网 发布:苹果6s数据流量开关 编辑:程序博客网 时间:2024/06/05 19:30
什么是Runtime?
Runtime又叫运行时,是一套底层C语言的API,其为iOS内部的核心之一,我们平时编写的OC代码底层都是基于它来实现的。
比如:[targetdoSomething];底层运行时会被编译器转化成objc_msgSend(target,@selector(doSomething));
带参数的[target doSomething:arg1...];会被底层运行时会被编译器转化成objc_msgSend(target,@selector(doSomething), arg1, arg2, ...)
以上你可能看不出它的价值,但是我们需要了解的是 Objective-C 是一门动态语言,它会将一些工作放在代码运行时才处理而并非编译时。也就是说,有很多类和成员变量在我们编译的时是不知道的,而在运行时,我们所编写的代码会转换成完整的确定的代码运行。因此,编译器是不够的,我们还需要一个运行时系统(Runtime system)来处理编译后的代码。Runtime 基本是用 C 和汇编写的,由此可见苹果为了动态系统的高效而做出的努力。苹果和 GNU 各自维护一个开源的 Runtime 版本,这两个版本之间都在努力保持一致。点击这里下载苹果维护的开源代码。
0 0
- 对iOS Runtime的理解
- 对runtime的理解
- 对Runtime的理解
- iOS runtime的理解
- iOS runtime的理解
- Ios runtime的理解
- 对iOS runtime methodForSelector 方法的一点理解2
- 个人对runtime的理解
- iOS:学习runtime的理解和心得
- iOS:学习runtime的理解和心得
- iOS Runtime的理解和应用
- iOS:学习runtime的理解和心得
- iOS之Runtime的理解和使用
- iOS 对RunTime的一些简单了解
- iOS~runtime理解
- iOS~runtime理解
- iOS~runtime理解
- iOS~runtime理解
- NIS 服务器与 NFS服务器之间的配合
- 卡尔曼滤波-转自知乎
- 110. Balanced Binary Tree
- 将博客搬至CSDN
- 现在的连接url:Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnico
- 对iOS Runtime的理解
- js 设置和获取css样式的值
- Target runtime Apache Tomcat v6.0 is not defined错误解决办法
- 1-Oracle Database 11g 体系结构
- 全球唯一棕色熊猫 据科学记载全世界仅发现五只
- IOS程序异常crash捕获与拦截
- [51nod1149]Pi的递推式
- Latex插入表格
- 深入理解C语言