美文网首页iOS模块详解iOS专题移动端开发
Runtime深度解析以及实用技巧(不扯淡,不套路)

Runtime深度解析以及实用技巧(不扯淡,不套路)

作者: 穿山甲救蛇精 | 来源:发表于2017-05-15 20:17 被阅读1780次

当我还是一个彩笔时,本着一颗向上的心,鼓足勇气,当打开别人的博客时,哇塞,好牛逼啊,完全看不懂啊,看来我没有天分啊。
如今我变成了一个饱受你们连番套路的彩笔,只想说,你们扯那么多蛋有什么用,吓得多少人去卖房了,把晦涩的名词当作自己装逼的基础,把简单的逻辑写复杂当作自己牛逼的标志。最重要的是有些很有质量的底层讲解,你copy过去也就算了,你不拍版是什么鬼,你少copy几行是什么鬼,你还加入你自己错误的认知是什么鬼。

首先我们要明确,Object-C是动态语言,也就是说在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。与动态语言相对应的,运行时结构不可变的语言就是静态语言。如Java、C、C++。这才产生了Runtime强大的功能特性,所以,不要和你们安卓的同事说:
  • 这个简单,临时把这个两个对象链接一下,然后取出来。
  • 把这两个方法交换一下,相同功能模块统一处理。
  • 这个方法你动态添加一下喽。
  • 等等


Runtime(也就是运行时),它基本上是用C和汇编写的,这个库使得C语言有了面向对象的能力。所以习惯了面向对象编程的小伙们好像对于C的API一般都不太友好,但是又有很多C的API强大到别人问你你不知道那你都抬不起头,Runtime就是其中之一。关于它的传说有很多,可以说在有的人手里牛逼的不可一世。下面我们毫无保留,毫无套路的说几个非常好用的使用场景:

Runtime奇技淫巧__带你深入理解Runtime特有概念
Runtime奇技淫巧__不受限制的消息发送
Runtime奇技淫巧__获取类的实例变量以及属性并强势与KVC、msgSend混用
Runtime奇技淫巧__方法交换
Runtime奇技淫巧__动态链接对象以及给分类添加属性
Runtime奇技淫巧__动态添加方法,消息转发改善异常

上面就是我想说的全部内容,我想你大概应该差不多了解OC这门语言到底是个什么东西了。然而如果你是个死脑筋,这对于你也并没有什么卵用。有很多人都说你写的这个知识点太low了,我们都会,或者我根本不关心底层原理,其实有很多人会用但是并不知道原理,也有很多人知道原理但遇到问题根本想不到对应的解决方案!那么问题来了,那下面该写点什么呢?

相关文章

  • Runtime深度解析以及实用技巧(不扯淡,不套路)

    当我还是一个彩笔时,本着一颗向上的心,鼓足勇气,当打开别人的博客时,哇塞,好牛逼啊,完全看不懂啊,看来我没有天分啊...

  • runtime 可以做什么

    这篇文字不扯淡,不讲runtime是什么,只总结下runtime 可以用来干什么。这几篇文章写的很好,Object...

  • 别的知识平台只赚你的钱,创库星图来帮你赚钱,获客导流这种小事,交

    今天不谈理论,不说概念,不扯淡,不套路,不鸡汤,只有变现福利给到你! 知识每天学一点,思维每天提升点,视角每天拉高...

  • 灵隐寺不扯淡

    是有山清水秀 是有瞪眼光头 是有虔诚恭候,敬香老叟 要我说上山游人皆不苦 潭里有莲木有藕 和尚空念大悲咒 心里有佛...

  • 除了不扯淡!

    你有很多事可以做! 真的,时间是宝贵的。 闲聊、唠嗑、吹牛、…… 除了一时的快活你还剩下点什么! 记住,祸从口出!...

  • 扯淡的人生

    2010-6-9 20:07 人生 一个天大的扯淡 我扯淡 世界根本就扯淡 我不扯淡 世界一样在扯淡 我的扯与不扯...

  • Runtime的使用一:交换方法,扩展属性

    本文只介绍runtime的作用,以及如何使用,不涉及底层原理。 说实话,我大概花了2天左右研究了runtime的原...

  • 套路不套路

    有人说,现在的社会不会套路,就会处处碰壁,玩转套路,才会绝处逢生,所谓无江湖不套路的感觉。 并没有深以为然。 个人...

  • iOS runtime进行数据解析封装

    iOS runtime进行数据解析封装 iOS runtime进行数据解析封装

  • “不扯淡,也不听人扯淡”

    我一向习惯写完文章再来定名字。那么今天文章我呼吁大家如文章标题一般“不扯淡,也不听人扯淡”。原话出自许嵩名人名言。...

网友评论

  • 不如吃酒去:你赢了~~~~~
  • Mr卿:文章开头是真的 ,确认过眼神!一脸懵逼!
  • fleshMe:我只是当成段子认认真真笑了一遍,有没有兴趣在德云社旁边的西餐厅聊一下呢?
  • Dis丶Peer:好吧,顺利被圈粉...
  • 春泥Fu:好吧,顺利被圈粉...

本文标题:Runtime深度解析以及实用技巧(不扯淡,不套路)

本文链接:https://www.haomeiwen.com/subject/ndblgttx.html