Wednesday, November 18, 2020

Get Value For Selector

func getValueForSelector(cls: AnyClass, selector: Selector) -> AnyObject {

  let method = class_getInstanceMethod((cls), selector)!

  let methodIMP : IMP! = method_getImplementation(method)

  let newAmountObj = unsafeBitCast(methodIMP,to:(@convention(c)(AnyClass?,Selector,Any?)->Any).self)(cls,selector, nil) as AnyObject

  return newAmountObj

}