星空网 > 软件开发 > 操作系统

Runtime相关整理

一.Runtime是用C和汇编写的

  • 对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。

二.Runtime常用头文件

  #import<objc/runtime.h>

  #import<objc/message.h>

三.Runtime常用函数

         class_copyIvarList:获得某个类内部的素有成员变量

           class_copyMethodList:获得某个类内部的所有方法

           class_getInstanceMethod:获得某个具体的实例方法

           class_getClassMethod:获得某个具体的类方法

           class_getMethodImplementation:获取方法实现

           method_exchangeImplementations:交换两个方法的实现

           objc_msgSend:给对象发送消息

           class_addMethod:添加方法

           objc_getAssociatedObject:根据关联的key,获取关联的值

           objc_setAssociatedObject:设置关联属性

四.Runtime使用场景

           发送消息

           交换方法

           动态生成属性,方法

           通过block回调,直接调用action

           归档,解档

           字典转模型

五.Runtime各种使用场景的具体实现

       1.发送消息

   Runtime相关整理images/loading.gif' data-original="http://images2015.cnblogs.com/blog/828921/201611/828921-20161124121756706-2055804521.png" >

注意点:

  Runtime相关整理

  Runtime相关整理

      2.交换方法

    因为不能直接在分类中重写系统方法,例如imageNamed,这样会把系统功能覆盖掉,分类中不能调用super,所以需要用到交换方法来代替重写。

  Runtime相关整理

     3.动态生成属性,方法

    如果一个类的方法非常多,加载类到内存的时候也比较资源,需要给每个方法生成映射表,动态生成方法则解决了这个问题。

   Runtime相关整理

 

 

  动态添加属性

   Runtime相关整理

      4.通过block回调,直接调用action

   Runtime相关整理

  //通过block回调,直接调用action

   Runtime相关整理

   Runtime相关整理

   Runtime相关整理

      5.归档,解档

  Runtime相关整理

  Runtime相关整理

  Runtime相关整理

      6.字典转模型

  KVC:遍历字典中的所有key,去模型中查找有没有对应的属性名

  Runtime:遍历模型中的所有属性名,去字典中查找

  Runtime相关整理

  Runtime相关整理

 




原标题:Runtime相关整理

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

tiktok创作收益是什么?怎么计算收益?:https://www.ikjzd.com/articles/1586602964017614849
东南亚电商平台虾皮Shopee店铺流量机制的底层逻辑:https://www.ikjzd.com/articles/15867
如何应对来自USPTO的政策性打压?:https://www.ikjzd.com/articles/1586901836145233922
小水瓶蕴藏大商机,为何TikTok上有那么多人喜欢?:https://www.ikjzd.com/articles/1586904408901947393
国务院办公厅:2022年底前再增设一批跨境电商综试区:https://www.ikjzd.com/articles/1586907576708763650
市值跌破1万亿美元!亚马逊Q4增长将低至2%?:https://www.ikjzd.com/articles/1586912706611126274
上海动物园地址及交通路线详解(带你轻松找到它的秘密入口):https://www.vstour.cn/a/404244.html
南宫温泉庄园酒店-南宫温泉庄园酒店:https://www.vstour.cn/a/404245.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流