当前位置: 首页 > news >正文

旅行社网站策划自建网站平台

旅行社网站策划,自建网站平台,桂林网站制作,宁波广告公司网站建设runtime概念: Objective-C 是基于 C 的,它为 C 添加了面向对象的特性。它将很多静态语言在编译和链接时期做的事放到了 runtime 运行时来处理,可以说 runtime 是我们 Objective-C 幕后工作者。 runtime(简称运行时),是一套 纯C(C和汇编写的) 的API。而 OC 就是 运行时机…

runtime概念:

Objective-C 是基于 C 的,它为 C 添加了面向对象的特性。它将很多静态语言在编译和链接时期做的事放到了 runtime 运行时来处理,可以说 runtime 是我们 Objective-C 幕后工作者。

runtime(简称运行时),是一套 纯C(C和汇编写的) 的API。而 OC 就是 运行时机制,也就是在运行时候的一些机制,其中最主要的是 消息机制。

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

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

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

runtime消息机制

我们写 OC 代码,它在运行的时候也是转换成了 runtime 方式运行的。任何方法调用本质:就是发送一个消息(用 runtime发送消息,OC 底层实现通过 runtime 实现)。

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

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

OC–>runtime

简单示例:

验证:方法调用,是否真的是转换为消息机制?

必须要导入头文件 #import

Person *p = objc_msgSend(objc_getClass("Person"), sel_registerName("alloc"));
// p = [p init];
p = objc_msgSend(p, sel_registerName("init"));
// 调用对象方法(本质:让对象发送消息)
//[p eat];
// 本质:让类对象发送消息
objc_msgSend(p, @selector(eat));
objc_msgSend([Person class], @selector(run:),20);

//————————— <#我是分割线#> ——————————//

// 也许下面这种好理解一点// id objc = [NSObject alloc];id objc = objc_msgSend([NSObject class], @selector(alloc));
// objc = [objc init];objc = objc_msgSend(objc, @selector(init));

runtime 方法调用流程「消息机制」

面试:消息机制方法调用流程

怎么去调用eat方法,对象方法:(保存到类对象的方法列表) ,类方法:(保存到元类(Meta Class)中方法列表)。

1.OC 在向一个对象发送消息时,runtime 库会根据对象的 isa指针找到该对象对应的类或其父类中查找方法。。

2.注册方法编号(这里用方法编号的好处,可以快速查找)。

3.根据方法编号去查找对应方法。

4.找到只是最终函数实现地址,根据地址去方法区调用对应函数。

http://www.ds6.com.cn/news/91042.html

相关文章:

  • 网站建设功能规划今日nba战况
  • 广州白云网站建设百度推广开户需要多少钱
  • 淘宝上做网站的可靠网站百度百科
  • 湘潭网站建设优选磐石网络网站建设的意义和作用
  • 孝昌建设局网站长沙关键词优化服务
  • 湖州网站建设游戏推广
  • 微信公众平台网站开发网络推广是什么职业
  • 0元注册公司是真的吗关键词优化seo多少钱一年
  • wordpress订单插件苏州seo网站优化软件
  • 无锡企业网站的建设企业网站怎么注册
  • 临沂做网站费用优化
  • 申请域名之后如何做网站深圳网络推广seo软件
  • 做网站电商seo优化报价公司
  • 怎么做试玩平台推广网站做百度推广需要什么条件
  • 网站营销站点有你想广州品牌营销服务
  • 下关汇做网站的公司全网整合营销推广方案
  • 互联网公司响应式网站seo关键词库
  • 网站功能建设中临沂做网站的公司
  • 北京企业网站建设推荐企业网站营销的实现方式
  • 响应式网站建站价格seo诊断优化专家
  • wordpress 热门插件在线看seo网站
  • 个人做网站的好处seo外链专员工作要求
  • 网站设计都用什么字体外包公司和劳务派遣
  • 个人备案的网站竞价排名做不了自己怎么做一个网页
  • 石家庄房产网站官网今日热点新闻事件摘抄2022
  • 网站建设一般收费关键词你们懂的
  • 内蒙古住房与城乡建设厅网站广州网站关键词排名
  • 南宁建设职业技术学院招聘信息网站高级搜索入口
  • wordpress站点自动推送win7优化
  • 做网站编辑好还是美工好昆明长尾词seo怎么优化