class_getInstanceMethod重设nil

时间:2018-09-05 10:37:32

标签: swift

我正在快速阅读有关方法混乱的信息。试图了解class_getInstanceMethod方法,但不起作用。

class Abc {

func testing() {
    print("testin...")
}

   func check() {
    print("check")
    let originalSelector = Selector.init(("testing"))
    let originalMethod = class_getInstanceMethod(Abc.self , originalSelector)
    print("\(String(describing: originalMethod))")
  }
}  

 let a = Abc()
  a.check()

1 个答案:

答案 0 :(得分:1)

您只需要更改Selector。还必须在@objc中添加testing()标记。这工作了。我测试过。

class Abc {

    @objc func testing() {
        print("testin...")
    }

    func check() {
        print("check")
        let originalMethod = class_getInstanceMethod(Abc.self , #selector(self.testing))
        print("\(originalMethod))")
    }
}