swift 定时器的使用

时间:2022-01-15 00:09:20


参考:http://www.cnblogs.com/sxlfybb/p/3792611.html

NSTimer有2个构造函数

/*not inherited*/ init(timeInterval ti: NSTimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool)
/*not inherited*/ init(timeInterval ti: NSTimeInterval, target aTarget: AnyObject, selector aSelector: Selector, userInfo: AnyObject?, repeats yesOrNo: Bool)
注意到,注释为未继承,所以 两个构造不能用

NSTimer有2个静态实例

    class func scheduledTimerWithTimeInterval(ti: NSTimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool) -> NSTimer
class func scheduledTimerWithTimeInterval(ti: NSTimeInterval, target aTarget: AnyObject, selector aSelector: Selector, userInfo: AnyObject?, repeats yesOrNo: Bool) -> NSTimer

在swift中,找不到 NSInvocation 类,日了狗了

还好有另一种使用静态函数的形式去实例化:

    func mNSTimer() {
let timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "timerFireMethod:", userInfo: "generalbenil", repeats: true)
timer.fire() // 启动定时器
}
// 参数: The timer passes itself as the argument
func timerFireMethod(timer: NSTimer) {
print("\(timer.userInfo!)")
let formatter = NSDateFormatter()
formatter.dateFormat = "MM/dd/yyyy HH:mm:ss" // 这里注意时间的格式,大小写代表的意义不同!
let strNow = formatter.stringFromDate(NSDate())
print("the time is \(strNow)")

}