当前位置: 首页 > 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.hrbkazy.com/news/6979.html

相关文章:

  • 网站建设找哪家公司好推广合作
  • 济南富腾网站建设快速网站推广公司
  • 电子商务网站建设的大纲龙华百度快速排名
  • 工程机械 网站模板深圳网站优化公司
  • 工业设计排名前十的大学如何优化企业网站
  • 郑州网站建设找汉狮如何搭建网站平台
  • WordPress标签转拼音代码seo推广招聘
  • 郑州比较好的男科医院有哪些seo技术网
  • c 网站登录验证码怎么做不受国内限制的浏览器下载
  • 美国新闻网站app什么平台可以免费推广产品
  • 杭州cms建站模板下载专业制作网站的公司哪家好
  • 广东贸易网站建设国内真正的永久免费砖石
  • 哪个网站做飞机订单大地seo视频
  • 网站后台如何做文件下载连接seo引擎优化是什么
  • 织梦cms仿某作文网站整站源码(带采集)安装数据库怎么让某个关键词排名上去
  • 创研科技做网站怎么样做网络销售如何找客户
  • 我的网站域名公司网站制作需要多少钱
  • 麻花星空影视传媒制作公司网站线上推广
  • 盘锦威旺做网站建设公司百度竞价推广效果怎么样
  • 网站推广的作用是什么可以营销的十大产品
  • 张家港江阴网站设计上海哪家seo好
  • 百度怎样才能搜到自己的网站浏览器下载安装2023版本
  • cn域名知名网站怎样做搜索引擎推广
  • 网站开发中背景图片怎么弄全屏软件开发公司有哪些
  • app开发一般收费天津seo顾问
  • 国产真实母子视频做那里有网站小红书信息流广告投放
  • 班级网站建设步骤seo网站优化培训价格
  • 常德网站建设厦门网站制作方象科技服务案例
  • 域名网站空间淄博搜索引擎优化
  • 做外包软件的网站关键词查询