美文网首页
iOS-runtime实践

iOS-runtime实践

作者: doudo | 来源:发表于2017-09-25 15:54 被阅读6次

目录

  1. 动态添加一个类
  2. 打印一个类的所有ivar, property 和 method
  3. 给分类增加属性
  4. 动态添加方法实现
  5. 更换方法调用者
  6. 更改特定方法的实现

1. 动态添加类

// 创建一个类(size_t extraBytes该参数通常指定为0, 该参数是分配给类和元类对象尾部的索引ivars的字节数。)
Class clazz = objc_allocateClassPair([NSObject class], "GoodPerson", 0);

// 添加ivar
// @encode(aType) : 返回该类型的内部表示字符串, 如@encode(int) -> i
class_addIvar(clazz, "_name", sizeof(NSString *), log2(sizeof(NSString *)), @encode(NSString *));
class_addIvar(clazz, "_age", sizeof(NSUInteger), log2(sizeof(NSUInteger)), @encode(NSUInteger));

// 注册该类
objc_registerClassPair(clazz);

资料:
iOS-Runtime-实践篇(基本功能)
[iOS] runtime 的使用场景--实战篇

相关文章

  • 壹、面试复习OC篇之runtime

    暂时copy过来,过后添加自己理解 原文地址:iOS-runtime通篇详解-上 iOS-runtime通篇详解-...

  • iOS-runtime实践

    目录动态添加一个类打印一个类的所有ivar, property 和 method给分类增加属性动态添加方法实现更换...

  • iOS开发 runtime理解

    http://yimouleng.com/2015/05/28/ios-runtime/

  • Runtime学习日程

    1、Runtime全方位装逼指南 2、Runtime窥探 (一)| 基本介绍 3、iOS-runtime通篇详解-...

  • iOS-runtime通篇详解-下

    上接上篇iOS-runtime通篇详解-上 原创内容,转载请注明出处: http://www.jianshu.co...

  • iOS-RunTime

    https://www.jianshu.com/p/19f280afcb24 <简书 — 刘小壮> https:/...

  • iOS-Runtime

    一.什么是runtime? 话说每次面试都问runtime,你不会runtime能拿到像我66k的工资吗?所以关于...

  • iOS-runtime

    一、基本概念 Runtime基本是用C和汇编写的,可见苹果为了动态系统的高效而作出的努力。你可以在这里下到苹果维护...

  • iOS-runtime

    RunTime 1. runtime的简介 runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包...

  • iOS-Runtime

    Runtime简介 RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机...

网友评论

      本文标题:iOS-runtime实践

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