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