SwiftyTimer用于NSTimer的Swifty API

联合创作 · 2023-09-30 22:45

SwiftyTimer 是一组扩展,可以使 NSTimer API 更加清晰易用,亲近 Swift 语法。

使用示例:

使用 NSTimer.every 和 NSTimer.after,可轻松地安排重复和不重复计时器(重复和延时):

NSTimer.every(0.7.seconds) {
    statusItem.blink()
}
NSTimer.after(1.minute) {
    println("Are you still here?")
}

SwiftyTimer 使用封闭的,而不是目标/选择/用户信息。你可以使用 Ruby on Rails-like 类似的助手,制定时间间隔:

1.second
2.5.seconds
5.seconds
10.minutes
1.hour

  你可以传递方法引用,而不用闭包:

 

NSTimer.every(30.seconds, align)

如果你想对一个 Timer 对象不进行计划,使用 use new(after:)new(every:):

let timer = NSTimer.new(every: 1.second) {
    println(self.status)
}

调用 start() 使用  new 来安排计时器的创建,您可以选择通过运行循环和循环运行模式:

timer.start()
timer.start(modes: NSDefaultRunLoopMode, NSEventTrackingRunLoopMode)

 

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报