SWIFT代码如下:迅速method_exchangeImplementations不行
func swizzleMethod()
{
let method:Method = class_getInstanceMethod(object_getClass(self), Selector("function1"))
self.function1()
let swizzledMethod:Method = class_getInstanceMethod(object_getClass(self), Selector("function2"))
method_exchangeImplementations(method, swizzledMethod)
self.function1()
}
func function1()
{
print("function1 log")
}
func function2()
{
print("function2 log")
}
它记录:
function1 log
function1 log
///// 我的环境中迅速以项目为基础,xcode7.2
这始终运行进入funtion1
方法体,所以我认为它交换失败了,这两个方法是在同一个类中,有谁知道为什么?
这对我的作品。结果是'function1 log function2 log'。我正在使用Xcode 7.2。 – t4nhpt
真的吗,我的还不能 – Tornado