EasyTimer 1.0.2

EasyTimer 1.0.2

测试已测试
语言语言 SwiftSwift
许可证 自定义
发布最后发布2017年2月
SwiftSwift 版本3.0
SPM支持 SPM

Niklas Fahl 维护。



EasyTimer 1.0.2

  • Niklas Fahl

EasyTimer

codecov.io

Natural language syntax for an easy way to use NSTimer in Swift for delaying code or repeating code.

受到 SwiftyTimer 的极大影响 - 作者: Radek Pietruszewski (radex)

安装

手动安装

将 "Sources" 文件夹中的文件添加到您的项目中,您就可以开始使用啦!

使用方法

EasyTimer 所有的函数都是在一个 NSTimerInterval 调用的,这可以用 Ruby 风格来表示。

1.millisecond
1.3.millisecond
2.second
2.4.second
3.minute
3.5.minute
4.hour
4.6.hour
5.day
5.7.day

您可以轻松地安排三种类型的计时器(重复、有延迟的重复和延迟)- 每一个都会返回一个新的 NSTimer 实例

安排一个重复并立即调用块的计时器

// Will repeat code in block every 2 seconds starting immediately
2.second.interval {
    print("Repeat immediately!")
}

// or with timer passed to the block
2.second.interval { (timer: NSTimer) -> Void in
    print("Repeat immediately! Do something with timer.")
}

安排一个重复并在时间间隔后调用块的计时器

// Will repeat code in block every 2 seconds after a 2 second delay
2.second.delayedInterval {
    print("Repeat after delay!")
}

// or with timer passed to the block
2.second.delayedInterval { (timer: NSTimer) -> Void in
    print("Repeat after delay! Do something with timer.")
}

安排一个在时间间隔后只调用一次块的计时器

// Will execute code in block once after 2 second delay
2.second.delay {
    print("Delay ended!")
}

// or with timer passed to the block
2.second.delay { (timer: NSTimer) -> Void in
    print("Delay ended! Do something with timer.")
}

您还可以选择使用 timer(repeats:, delays:) 创建计时器并在以后启动它,这将返回一个新创建的 NSTimer 实例

let timer = 3.minute.timer(repeats: true, delays: true) {
    print("Do something.")
}

// or with timer passed to the block
let timer = 3.minute.timer(repeats: true, delays: true) { (timer: NSTimer) -> Void in
    print("Do something with timer.")
}

调用 start() 以安排使用 timer(repeats:, delays:) 创建的计时器。您可以可选地传递运行循环和运行循环模式

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

调用 stop() 以使计时器无效并从运行循环中删除它们。您可以可选地传递运行循环和运行循环模式

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

作者和鸣谢

作者

Niklas Fahl (fahlout) - iOS 开发者 (LinkedIn)

鸣谢

SwiftyTimer by Radek Pietruszewski (radex)

许可证

版权所有 © 2016 阿拉巴马大学信托委员会。保留所有权利。

在满足以下条件的情况下,允许以源代码和二进制形式重新分发和使用,无论是否进行修改:

  1. 源代码的重新分发必须保留上述版权声明、本许可列表和以下免责声明。
  2. 以二进制形式重新分发必须在与分发一同提供的文档和其他材料中复制上述版权声明、本许可列表和以下免责声明。
  3. 未经事先书面许可,不得使用大学的名称或贡献者的姓名 endorse 或 promote 由本软件派生的产品。

本软件由版权所有者和贡献者提供“现状”且不提供任何明示或暗示的保证,包括但不限于适销性保证和针对特定目的的适用性保证。在任何情况下,版权所有者或贡献者不应对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,即使已告知此类损害的可能性,无论责任依据是什么,无论是合同、侵权责任,还是其他责任。