【发布时间】:2016-01-19 08:33:03
【问题描述】:
swift代码如下:
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
/////
我的环境是基于 swift 的项目,xcode7.2
这总是碰到funtion1方法体,所以我认为它交换失败了,这两个方法在同一个类中,有人知道为什么吗?
【问题讨论】:
-
它对我有用。结果是
function1 log function2 log。我正在使用 Xcode 7.2。 -
真的吗?我的还是不行