• iOS runtime 详解


    一、runtime 简介

    OC是一门动态语言,所以它总想办法把一些决定工作从编译推迟到运行时。也就是说只有编译器是不够的,它还需要一个运行时系统来执行编译后的代码。这就是Runtime系统存在的意义,它是整个OC的一个基石。

    Runtime基本是用C和汇编语言写的,可见苹果为动态系统的高效做出的努力。

    Runtime库主要做下面几件事:

    封装:在这个库中,对象可以用C语言中的结构体表示,而方法可以用C函数来实现,另外再加上了一些额外的特性。这些结构体和函数被runtime函数封装后,我们就可以在程序运行时创建,检查,修改类、对象和它们的方法了。
    找出方法的最终执行代码:当程序执行[object doSomething]时,会向消息接收者(object)发送一条消息(doSomething),runtime会根据消息接收者是否能响应该消息而做出不同的反应。这将在后面详细介绍。
     
    二、runtime相关概念
    头文件 <objc/runtime>  <objc/message>(包含了runtime)
    Method  :成员方法
    Ivar    :  成员变量
     
    三、runtime使用
     
    利用runtime进行时,在程序运行的过程中,动态创建一个类
    利用runtime进行时,在程序运行的过程中,动态修改一个类的属性/方法
    利用runtime进行时,遍历一个类的所有属性和方法
     
    四、runtime使用场景
     
      1、给类别添加属性
      2、方法交换
      3、OC序列化(归档)
      4、KVO 动态创建类
      5、动态添加方法
     
      
     
     
     
     
     
     
     
     
  • 相关阅读:
    2. 开关电源.电感
    1. 开关电源.引子
    资源介绍
    3. EMC EMS EMI
    2. 基于MCU应用的EMC指南
    1. 内部管脚电路
    9.150 Predefined macros
    海康安防平台
    Redis常见配置
    利用python检测单词的相似度
  • 原文地址:https://www.cnblogs.com/huadeng/p/10931182.html
Copyright © 2020-2023  润新知