什么是Swift 4中的块,如何填写scheduledTimer方法的参数?

时间:2017-12-19 19:00:19

标签: swift

class func scheduledTimer(withTimeInterval interval: TimeInterval, 
                  repeats: Bool, 
                    block: @escaping (Timer) -> Void) -> Timer

1 个答案:

答案 0 :(得分:0)

没有其他参数。

闭包是targetaction的替代,并且不需要userInfo,因为闭包可以在调用之前捕获方法中的值。

以下是一个例子:

var myTimer : Timer?

---

var counter = 0  
myTimer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { timer in 
    counter += 1
    print(counter)
    if counter == 10 { 
       timer.invalidate() 
       myTimer = nil
       print("timer stopped")
    }          
}