CocoaPods trunk is moving to be read-only. Read more on the blog, there are 16 months to go.

WRRuntime 1.3.0

WRRuntime 1.3.0

Maintained by GodFighter.



WRRuntime 1.3.0

  • By
  • GodFighter

WRRuntime

Swift Runtime交换方法

只能交换class对象的方法,并且在方法前需要添加 dynamic 关键字

遵守 WRRuntimeProtocol 并实现

// 第一个方法为原方法
// 第二个为替换方法
static var wr_swizzleMethods: [(Selector, Selector)] {get set}

例子

class Dog: WRRuntimeProtocol {    
    public static var wr_swizzleMethods = [(#selector(eating), #selector(eatUp))]

    @objc dynamic func eating() {
        print("dog is eating")
    }

    @objc dynamic func eatUp() {
        print("dog is eat up")
    }
}