美文网首页
Runtime中的method_exchangeImplemen

Runtime中的method_exchangeImplemen

作者: 灬朴一生 | 来源:发表于2019-07-18 18:12 被阅读0次

前言

最近一直在整理原写过的一些工作方法,慢慢发一些吧,大佬们如果有更好的方法和建议请多指点

主要是围绕runtime中的method_exchangeImplementations方法交换做了两个小例子
  • 项目runtime配置

Build Settings -> Enable Strict Checking of objc_msgSend Calls -> No

  • 主要代码
// 拦截 实例方法并替换

//获取系统方法地址
Method sytemMethod = class_getInstanceMethod([NSBundle class], @selector(bundleIdentifier));
//获取自定义方法地址
Method customMethod = class_getInstanceMethod([NSBundle class], @selector(newBundleIdentifier));
//交换两个方法的实现
method_exchangeImplementations(sytemMethod, customMethod);
// 拦截 类方法并替换

//获取系统方法地址
Method sytemMethod = class_getClassMethod([UIFont class], @selector(systemFontOfSize:));
//获取自定义方法地址
Method customMethod = class_getClassMethod([UIFont class], @selector(newSystemFontOfSize:));
//交换两个方法的实现
method_exchangeImplementations(sytemMethod, customMethod);
  • 代码内容

主要是根据自己的项目需求修改了UIFont类与NSBundld

相关文章

  • Runtime中的method_exchangeImplemen

    前言 最近一直在整理原写过的一些工作方法,慢慢发一些吧,大佬们如果有更好的方法和建议请多指点 主要是围绕runti...

  • Runtime基础知识

    Runtime相关的知识主要从以下几个问题入手吧 Runtime是何物 Runtime中的结构体 Runtime中...

  • ART Runtime创建(三)--Heap的创建

    Heap的创建位于/art/runtime/runtime.cc的Runtime::Init方法中 一. 相关知识...

  • Runtime初体验

    Runtime介绍: runtime官方文档字面翻译:ios中的黑魔法!!! runtime(运行时):底层C语言...

  • RunTime

    iOS中的runtime应用 字数999阅读4975评论11喜欢22 1.什么是runtime? runtime是...

  • iOS 开发中 runtime 常用的几种方法

    iOS 开发中 runtime 常用的几种方法 iOS 开发中 runtime 常用的几种方法

  • Golang中runtime的使用

    Golang中runtime的使用 runtime调度器是非常有用的东西,关于runtime包几个方法: Gosc...

  • Runtime学习笔记记录

    文章目录 一 runtime原理 二 Runtime相关的头文件2-1 iOS 中 Runtime相关的头...

  • iOS-Runtime

    RunTime简介1.runtime是 OC 的底层实现, runtime API 都是纯 c 代码.2.所有类中...

  • Objective-C中Runtime的结构

    Objective-C isa 指针 与 runtime 机制 这篇文章中详述了OC中Runtime的结构,附下图...

网友评论

      本文标题:Runtime中的method_exchangeImplemen

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