我試圖使用performSelector來實現協議/委託,但我得到這個錯誤:斯威夫特:類型的值沒有任何成員「peformSelector」
Value of type 'DoingSomething' has no member 'peformSelector'
這是我實現:
import UIKit
protocol DoingSomethingDelegate {
// delegate function
}
class DoingSomething {
func goDoSomething()
self.performSelector(onMainThread: #selector(self.processSomething()), with: nil, waitUntilDone: true)
}
func processSomething() {
print("I'm done")
}
}
但是,如果我將函數移動到viewController我沒有錯誤。你們中的任何一個人都知道錯誤的原因,或者我該如何解決這個錯誤?
我真的很感謝你的幫助。
這是一個'NSObject'方法,你的類不從'NSObject'繼承 – dan
考慮'DispatchQueue.main.sync'。 'performSelector ...'已經過時了(在Swift中)。 – vadian
@dan,向類中添加NSObject使其成爲訣竅:class DoingSomething:NSObject – user2924482