runtime(一)

原创 2016年05月30日 13:45:20

一.runtime简介

1. RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是***消息机制***。


2. 对于C语言,函数的调用在编译的时候会决定调用哪个函数。

3.对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。

事实证明:
在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。但是在编译阶段,C语言调用未实现的函数就会报错。

二.runtime作用

1.发送消息
1.方法调用的本质,就是让对象发送消息。
2.objc_msgSend,只有对象才能发送消息,因此以objc开头.
3.使用消息机制前提,必须导入#import <objc/message.h>
4.消息机制简单使用:clang -rewrite-objc main.m 查看最终生成代码


// 创建person对象
Person *p = [[Person alloc] init];
// 调用对象方法
[p eat];
// 本质:让对象发送消息
objc_msgSend(p, @selector(eat));
// 调用类方法的方式:两种
// 第一种通过类名调用
[Person eat];
// 第二种通过类对象调用
[[Person class] eat];
// 用类名调用类方法,底层会自动把类名转换成类对象调用
// 本质:让类对象发送消息
objc_msgSend([Person class], @selector(eat));

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Windows Runtime via C#

  • 2017-10-11 16:52
  • 10.15MB
  • 下载

api-ms-win-crt-runtime-l1-1-0

Android6.0 Runtime Permission 动态权限

The New Runtime Permission随着Android正在被不断开发,最新已经更新到Android M,这版是完全不同的,因为这有一个可以改变一切的重大改变比如新的Runtime Pe...

ArcGIS-Runtime-SDK-for-Android

  • 2016-05-21 14:04
  • 4.75MB
  • 下载

理解 Objective-C Runtime

当人们初学 Cocoa/Objective-C 时,Objective-C Runtime 是被忽略的特性之一。原因是 Objective-C(这门语言)很容易在几小时内就熟悉,新学 Cocoa 的人...

【技术贴】ArcGIS Runtime for Xamarin 使用SPK构建逼真的三维场景

ArcGIS Runtime for Xamarin 使用SPK构建逼真的三维场景 SPK是一个重要的三维格式,SPK基于开源标准I3S,ArcGIS Runtime 很好的支持了SPK,这样可以让...

GEF- runtime

  • 2015-02-02 18:30
  • 1.25MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)