我正在尝试使用计时器中的可选CompletionHandler
参数调用函数。以下是我的代码段:
typealias CompletionHandler = () -> Void
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(ViewController.check(_:)), userInfo: nil, repeats: false)
}
func check(completion: CompletionHandler?) {
print("userinfo1")
}
}
在1.0
秒后触发计时器时,我的应用程序已经死了EXC_BAD_ACCESS
而指针指向class AppDelegate: UIResponder, UIApplicationDelegate
中的AppDelegate
。
你能告诉我如何使用这样的参数调用check
函数吗? (如果completion
只是一个Int,那么计时器确实有效!)
由于
答案 0 :(得分:-1)
你可以创建一个这样的计时器:
NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(connectionTimeoutExpired(_:)), userInfo: nil, repeats: false)
func connectionTimeoutExpired(sender: NSTimer) {
print("Connection Timeout Expired")
connectionTimer?.invalidate()
connectionTimer = nil
}