美文网首页
runtime怎么用

runtime怎么用

作者: DSN2013 | 来源:发表于2016-08-11 23:52 被阅读0次

runtime : 运行时机制 首先必须明白的: 1.是什么 1> runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API 2> 平时编写的OC代码, 在程序运行过程中, 其实最终都是转成了runtime的C语言代码, runtime算是OC的幕后工作者 下面这就是一个实例,(在前面的文章中讲到过了!通过编译成c语言,我们可以看到底层文件) OC : [[Person alloc] init] 上面的Person对象创建时候, runtime : objc_msgSend(objc_msgSend("Person" , "alloc"), "init")而上面这部分只是明白了最基础的原理,那么runtime又有哪些更深的运用呢? 2.runtime用过么?又该怎么用?能用来做什么? 我们需要明白的是: 1> runtime是属于OC的底层, 可以进行一些非常底层的操作(用OC是无法现实的, 不好实现可以通过runtime是实现)在程序运行过程中, 动态创建一个类(比如KVO的底层实现)在程序运行过程中, 动态地为某个类添加属性\方法, 修改属性值\方法遍历一个类的所有成员变量(属性)\所有方法3.相关的头文件和函数 1> 头文件打开头文件,我们发现许多的方法,但是我们用的最多的是下面的函数, 相关函数

objc_msgSend : 给对象发送消息

class_copyMethodList : 遍历某个类所有的方法

class_copyIvarList : 遍历某个类所有的成员变量

class_.....

当然,在使用这些东西的时候,我们首先要明白一些东西, 必备常识 1> Ivar : 成员变量 2> Method : 成员方法

2> runtime相关实际应用

NSCoding(归档和解档, 利用runtime遍历模型对象的所有属性)

字典 --> 模型 (利用runtime遍历模型对象的所有属性, 根据属性名从字典中取出对应的值, 设置到模型的属性上)

KVO(利用runtime动态产生一个类)

用于封装框架(想怎么改就怎么改)。

转自:http://my.oschina.net/panyong/blog/403562

相关文章

  • runtime怎么用

    runtime : 运行时机制 首先必须明白的: 1.是什么 1> runtime是一套比较底层的纯C语言API,...

  • iOS面试题-每日十道-第十天

    一. 运行时你是怎么理解的,怎么用 ObjC Runtime 其实是一个 Runtime 库,基本上用 C 和汇...

  • Objc Runtime在项目中该怎么用

    Objc Runtime在项目中该怎么用 从以下四个方面讲述Objc Runtime在项目中的使用场景,使用的例子...

  • 谈谈对runtime的看法

    对于runtime机制,在网上找到的资料大概就是怎么去用这些东西,以及查看runtime.h头文件中的实现,当然这...

  • runtime

    runtime实现的机制是什么,怎么用,一般用于干嘛? runtime是一套比较底层的纯C语言API, 属于1个C...

  • runtime 运行时机制 完全解读

    1.runtime实现的机制是什么,怎么用,一般用于干嘛? runtime是一套比较底层的纯C语言API, 属于1...

  • runtime

    第一个问题 runtime实现的机制是什么,怎么用,一般用于干嘛? runtime是一套比较底层的纯C语言API,...

  • Runtime

    概述 runtime 是什么 isa指针 runtime 怎么添加属性,方法等 runtime 如何实现weak属...

  • runtime基本用法

    先导入 runtime 头文件。1、用 runtime 改变变量值; 2、使用 runtime 交换方法; 3、使...

  • RunTime的用法

    RunTime简介## 刚入行的时候,经常听到某些自称大神的人说runtime怎么怎么强大怎么怎么牛逼,我总是被忽...

网友评论

      本文标题:runtime怎么用

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