IOS开发入门之iOS runTime运行时机制
凌雪 2018-11-06 来源 :网络 阅读 450 评论 0

摘要:本文将带你了解IOS开发入门iOS runTime运行时机制,希望本文对大家学IOS有所帮助。

本文将带你了解IOS开发入门iOS runTime运行时机制,希望本文对大家学IOS有所帮助。


       

iOS   runTime运行时机制。

运行时机制

不同级别的语言

-在计算机上只有0和1=>本身在计算机上执行的程序都是机器码,一堆二进制的指令!

-汇编语言

-C语言(被成为最接近汇编的一门语言)-面向过程的-一旦程序复杂之后,维护起来非常可怕!

-面向对象语言   C++/Java/C#/OC

-脚本语言   javascript/Python/Perl/lua......

运行时是用   C++&C语言混编的,目标:在运行时动态的执行代码

-动态加载

-动态类型

-动态绑定

程序的从代码到能够执行的几个重要的阶段

-代码编写

-编译-生成可执行的伪机器码   clang

-链接-把所有需要的框架的伪机器码编练到一起生成真正能够执行机器码

时期:

-编译时

-链接时

-运行时

OC的特点,让所有的事情,尽可能的延后,很多检测工作,在编译的时候并不检查!

而在运行的时候,真正通过消息机制来实现方法的调用!

OC中的运行时机制,类似于执行OC代码的操作系统。

利用 clang 可以将 OC   代码转换成 C++,查看运行时机制的调用方法

$ clang -rewrite-objc   main.m

通过运行时机制能够做到,在运行时能够动态的获取一个对象的完整信息,动态增加方法,动态添加属性等等。

主要应用场景:KVC本身就是利用运行时机制实现的!

1.   模型转字典的时候,可以动态获取对象的所有属性

模型转字典

2.   动态的修改一个方法的执行

例子:

1>   开发一个通用设备的应用程序!

2>开发初期,只针对iPhone做了开发!

3>到后期需要接入   iPad 版本,而且所有程序都是纯代码写的!

界面布局通常是写在 loadView或者 viewDidLoad   方法中

如果需要接入iPAD版本,一旦修改原有的 loadView 方法,就存在风险,如果用运行时机制,可以判断如果是   iPAD 就不执行   loadView,而是使用一个替代方法,loadiPADView

类似于函数的欺骗!

(ASI中有)

3.在程序执行时,尤其网络应用,临时需要添加一个属性,利用运行时,就可以临时给对象添加一个属性!(SDWebImage里面有)

提示:一般运行时最重要的作用是开发OC用的!程序开发时,偶尔利用一下,可以将原本很繁重的工作简化!

但是:运行时的代码最好不要开放出来!在类的内部偶尔使用就行!

    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!


本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程