zoukankan      html  css  js  c++  java
  • RunTime交换两个方法,可以根据特定条件来改变.

    一.机制:这里用的是RunTime的消息机制

    二.需求:需求是对iOS8 - 和 iOS8 + 的图片进行适配,根据不同的系统版本展示不同的图片,并且在加载图片的时候做个图片是否加载成功的判断.

    三.实现:

       1.分析:如果要实现对图片的操作,那么就需要给UIImage做一个分类

       2.通过调用#import <objc/message.h> 获取到两个方法,然后交换两个方法的地址,实际上就是交换两个反法国的实现方式.

       3.在分类文件中实现自定义的方法,供外部调用.

       4.添加两个图,一个名字为old,一个名字为old_iOS8+,最好两张图不一样,这样能够很多的区分效果

    四.代码:创建一个名字为MyImage的分类文件,自定义一个方法名.

    MyImage.h:

       

    MyImage.m:

    这里load 方法是UIImage 的系统方法,这里通过获取地址方法,然后交换地址,这样外部调用自己定义方法时,其实调用的是自己定义的imageWithName方法.

    掉用:

  • 相关阅读:
    5.集合(3)——Map集合
    4.集合(3)——List集合
    2.初窥集合类1
    1.正则表达式1
    (13)JSON
    (12)表单验证
    Wpf实现TreeSelect多选
    Wpf实现TreeSelect
    Wpf登录验证方式(5)-推理拼图的实现
    Wpf登录验证方式(4)-语序点选的实现
  • 原文地址:https://www.cnblogs.com/zhouyantongiOSDev/p/5258598.html
Copyright © 2011-2022 走看看