美文网首页
runtime内部实现机制

runtime内部实现机制

作者: March_Cullen | 来源:发表于2017-03-08 22:01 被阅读0次
  • 1、是什么?
    runtime:运行时机制
    • 1.1 runtime是一套比较底层的C语言的API,属于一个C语言库,包含了很多底层的C语言API;
    • 1.2 平时编写的OC代码,程序运行最终都是转成了runtime里面的C语言代码,说明runtime是OC的幕后工作者,OC代码的实现都是调用runtime里面的C语言代码;
    • 1.3 举例
[[MJPerson alloc] init];
runtime:
objc_msgSend(objc_msgSend(“MJPerson”, “alloc”), “init”);
  • 2、用过吗,怎么用?
    runtime属于OC的底层,可以进行一些非常底层的操作(用OC不好实现)

    • 2.1 在程序运行过程中,动态创建一个类(比如KVO的底层实现,KVC底层也是runtime 机制)
    • 2.2 在程序运行过程中,动态的为某个类添加属性(成员变量)/方法,修改属性(成员变量)/方法
    • 2.3 遍历一个类的所有属性(成员变量)/方法
  • 3、相关的方法和头文件

    • 3.1 头文件
      • 3.1.1 <objc/runtime.h>
      • 3.1.2 <objc/message.h>
    • 3.2 相关应用
      • 3.2.1 NSCoding(归档和解档)
      • 3.2.2 字典 ----> 模型(利用runtime遍历模型对象的所有属性,根据属性名从字典中取出对应的值,设置到模型的属性上)
      • 3.2.3 KVO(利用runtime动态产生一个类)
      • 3.2.4 用于封装框架(有了运行时,想怎么改,就怎么改)
    • 3.3 相关函数
      • 3.3.1 objc_msgSend:给对象发送消息
      • 3.3.2 class_copyMethodList:遍历某个类所有的方法
      • 3.3.3 class_copyIvarList:遍历某个类所有的成员变量(属性)
      • 3.3.4 class_...一系列的方法
    • 3.4 必备常识
      1)Ivar:成员变量
      Method:成员方法

相关文章

  • runtime内部实现机制

    1、是什么?runtime:运行时机制1.1 runtime是一套比较底层的C语言的API,属于一个C语言库,包含...

  • 面试题(2)

    runtime/KVO等面试题 1.KVO内部实现原则 回答:1>KVO是基于runtime机制实现的 2>当某个...

  • KVO底层原理分析

    一、 KVO内部实现原理 KVO是基于 runtime机制实现的,使用了isa 混写(isa-swizzling)...

  • iOS面试题03-Foundation(★★★)

    《2018 iOS面试题系列》 一、KVO内部实现原理 KVO是基于runtime机制实现的 当某个类的对象第一次...

  • OC中的运行时机制(runtime)

    1.runtime实现的机制是什么,怎么用,一般用于干嘛? 对于上面提到的KVO内部实现原理: 具体应用:当我们需...

  • KVO内部实现原理

    KVO内部实现原理 -->KVO是基于runtime机制实现的 -->当某个类的属性对象第一次被观察时,系统就会在...

  • 面试二

    1、KVO内部实现原理? ①.KVO是基于runtime机制实现的。②.当某个类的对象第一次被观察时,系统就会在运...

  • iOS复习笔记

    runtime机制 objective-c代码总是先预编译成C代码,runtime机制也是基于C的实现。消息机制是...

  • Objective-C的runtime机制02-消息机制

    上一篇《Objective-C的runtime机制01-重要数据结构和内部关系图》说了runtime的内部数据结构...

  • iOS面试题锦集(三)——Foundation

    1. KVO内部实现原理? KVO是基于runtime机制实现的; 当某个类的对象第一次被观察时,系统就会在运动期...

网友评论

      本文标题:runtime内部实现机制

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