我试图使用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