美文网首页iOS技能
Runtime 知识小总结

Runtime 知识小总结

作者: lsif的简书 | 来源:发表于2016-03-12 20:52 被阅读125次

    什么是Runtime?

         RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数(C语言的函数调用请看这里)。编译完成之后直接顺序执行,无任何二义性。OC的函数调用成为消息发送。属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证明,在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要申明过就不会报错。而C语言在编译阶段就会报错)。只有在真正运行的时候才会根据函数的名称找到对应的函数来调用.

    Runtime的用在什么地方,怎么用?

    ‣     遍历一个类的所有成员变量(属性)\所有方法

    ‣     获取一个类中所有的属性,属性类型,并修改属性值

    ‣    获取一个类中所有property属性

    ‣  利用运行时归档和解档

    ‣  动态添加方法,如果一个类方法非常多,加载类到内存的时候也比较耗费资源,需要给每个方法生成映射表,可以使用动态给某个类,添加方法解决。

    ‣  给分类添加属性.category可以扩展类的方法,但是不能扩张类的属性,通过runtime可以实现

    附上demo链接:  github.com/StarRain-L/RuntimeDemo

    不足之处,欢迎指正!!!!

    相关文章

      网友评论

      • 走停2015_iOS开发:最后一个没有看懂
        lsif的简书:在一个分类中添加了一个属性,Xcode不会自动的为其生成一个下划线开头的成员变量及set和get方法,如果你没有手动的实现这两个方法,直接在外面通过点语法调用这个属性,肯定就直接挂了,这个时候就要用到运行时机制了,关联上去这个属性的存取过程。

      本文标题:Runtime 知识小总结

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