美文网首页
交换+号类方法

交换+号类方法

作者: 跬步千里_LenSky | 来源:发表于2018-12-18 10:05 被阅读7次
  • 交换字体为例进行交换
+(void)load
{
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        SEL aSel = @selector(systemFontOfSize:);
        SEL newSel = @selector(changeSystemSize:);
        Class metaClass = object_getClass(self);
        Method lastMethod=class_getInstanceMethod (metaClass, aSel);
            //Method  是返回的方法的地址
        Method newMethod= class_getInstanceMethod (metaClass,newSel);
        method_exchangeImplementations(lastMethod, newMethod);
    });
}
+(void)changeSystemSize:(CGFloat)size
{
    CGFloat aSize = size * scaleX;
    [self changeSystemSize:aSize];
}

相关文章

  • 交换+号类方法

    交换字体为例进行交换

  • iOS 方法交换

    交换类方法 交换实例方法

  • ios 交换方法

    1.类/分类添加方法后交换 结果: 2.创建并交换实例方法 结果: 3.创建并交换类方法 结果:

  • Method-Swizzling 坑

    在viewcontroller执行下面代码 会崩溃: 子类没有实现方法,方法交换交换的是父类的方法imp,父类并没...

  • method swizzling你应该注意的点

    1.避免交换父类方法 如果当前类未实现被交换的方法而父类实现了的情况下,此时父类的实现会被交换,若此父类的多个继承...

  • iOS MethodSwizzled坑点

    交换类主动调用+(void)load方法 我们的MethodSwizzled在+(void)load方法中执行交换...

  • Runtime

    runtime运行时机制1:通过runtime,实现方法交换(交换两个类方法、交换两个实例方法)2:通过runti...

  • Day3

    1 runtime运行时机制1:通过runtime,实现方法交换(交换两个类方法、交换两个实例方法)。2:通过ru...

  • RunTime实现

    1:RunTiem交换方法实现 //runTime交换方法实现 // 1,创建已有类的分类,并且实现自己的方...

  • runtime 应用

    1. 交换方法 1.1 获取类方法 1.2 获取实例方法 1.3 交换两个方法 实例: 2. 分类添加属性 下面给...

网友评论

      本文标题:交换+号类方法

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