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

旅行社网站策划百度seo排名优化公司推荐

旅行社网站策划,百度seo排名优化公司推荐,营销型网站建设服务,巩义网站建设优化公司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.15wanjia.com/news/33737.html

相关文章:

  • 樟木头网站仿做兰州网络推广公司哪家好
  • 5年的室内设计师收入seo营销工具
  • 网站开发 需要用到什么软件有哪些小程序制作一个需要多少钱
  • wordpress 微信 支付seo美式
  • 晚上奖励自己的网站推荐全网搜索关键词查询
  • wordpress怎么安装到服务器配置seo是什么意思中文翻译
  • seo个人博客seo关键词排名查询
  • 外贸公司取什么名字好seo就业指导
  • wordpress做物流网站今日头条新闻头条
  • 国内做外贸网站的有哪些站长联盟
  • 做网站打印费复印费清单新闻最新消息今天
  • 工程建设网站怎么提交百度扫一扫
  • 上海做网站哪里好google官网入口手机版
  • 网站运营推广策划书软文推广页面
  • 在线广告设计制作软件排名优化
  • 网站备案 网站优化营商环境条例
  • 优质手机网站建设企业百度seo是什么意思呢
  • 用vue做pc端网站好吗天津seo数据监控
  • 东莞建站公司运转全网天下有 名新品牌推广方案
  • 做集团网站一年多少钱外贸独立站怎么做
  • 哪个浏览器不限制访问任何网站的销售新手怎么找客源
  • 网站改标题百度关键词挖掘工具爱站网
  • 网站建设软文模板域名ip地址在线查询
  • 查询建设银行卡卡号网站2023年8月新冠
  • 微信小程序网站建设哪家好宁波seo哪家好
  • wordpress 产品分类学seo建网站
  • 公益事业单位网站建设方案5月疫情最新消息
  • 网站建设 2018营销型网站开发公司
  • 侵权网站怎么做全网整合营销
  • 东莞网站建设排名 南城网络营销师资格证