• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > MethodSwizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式

MethodSwizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了MethodSwizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式
描述:

Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式


解决方案1:

不一定非写分类,你调下面的方法进行方法交换,位置不随便写吗?

void methodSwizzle(Class c, SEL orig, SEL newS )
{
    Method origMethod = class_getInstanceMethod(c, orig);
    Method newMethod = class_getInstanceMethod(c, newS);
    
    BOOL addSuccess = class_addMethod(c, orig, method_getImplementation(newMethod),method_getTypeEncoding(newMethod) );
    
    if (addSuccess) {
        class_replaceMethod(c, newS, method_getImplementation(origMethod), method_getTypeEncoding(origMethod));
        
    }else{
        method_exchangeImplementations(origMethod, newMethod);
        
    }
    
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-06-05 (swift)addAttribute不起作用
  • 2017-06-05 iospush切换视图的时候,返回时,怎样自定义动画?
  • 2017-06-05 afnetworking返回json以后怎么解析?
  • 2017-06-05 swift中问号和叹号的作用
  • 2017-06-05 为什么有的书说在初始化方法和dealloc方法总是应该通过实例变量来读写数据?
  • 2017-06-05 求助:swift20?解析json字符串
  • 2017-06-05 (swift)iOS相册删除最后一张照片
  • 2017-06-05 iOS中的矢量路径如贝塞尔曲线等如何通过横坐标x获取纵坐标y?
  • 2017-06-05 维维网高级查询key(swift)怎么查询key
  • 2017-06-05 InAppPurchase沙盒测试只能用已经通过审核的App吗?正在开发中的如何测试?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 不知道是不是删了个东西,Cocoapodspodsetup老是出错,求大神解决!!!
    • swift2我该如果把keyboard加在view上面,而不是让它自动跳出来
    • iOS单聊页面
    • iOS中下载的文件应该放在哪个文件夹中?
    • weexiOS下开启devtool的debug功能后界面消失
    • 联系我们页面设计iPhone新建联系人的页面是如何实现的?
    • 太多太多app里面的模块太多了,如何实现合并
    • 混合开发中native和web之间如何传递token
    • 为什么当CoreAnimation完成时,layer又会恢复到原先的状态?
    • 2个蓝牙app,功能都一样,只是icon不一样,能不能审核?(同一个产品,有两个客户,要求app图标不一样)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有