MijickTimer 1.0.2

MijickTimer 1.0.2

Mijick 维护。



  • Mijick

Timer Logo

定时器的现代 API

易于使用且功能强大的定时器库。保持您的代码简洁

尝试我们准备的演示


SwiftUI logo Platforms: iOS, iPadOS, macOS, tvOS Current Version License: MIT

Made in Kraków Follow us on X Let's work together Stargazers

Timer Examples


Timer 是一个免费的、开源的 Swift 定时器库,它使处理定时器的过程更加简单和整洁。

  • 提高代码质量。 使用 publish().start() 方法开始定时器。使用 stop() 停止定时器。简单到无与伦比。
  • 双向运行您的定时器。 我们的可定时器可以在两种模式(增加或减少)中运行。
  • 支持后台模式。 当应用程序进入后台时,不用担心定时器。我们处理它了!
  • 还有很多。 我们库允许您将当前时间转换为字符串或显示定时器进度,无需时间。

入门

✋ 要求

平台 最低 Swift 版本
iOS 13+ 5.0
iPadOS 13+ 5.0
macOS 10.15+ 5.0

⏳ 安装

Swift 软件包管理器是一个用于自动分发 Swift 代码的工具,它集成到 Swift 编译器中。

一旦设置了您的 Swift 软件包,将 Timer 作为依赖项添加就像将它添加到您的 Package.swiftdependencies 值一样简单。

dependencies: [
    .package(url: "https://github.com/Mijick/Timer", branch(“main”))
]

Cocoapods 是一个用于 Swift 和 Objective-C Cocoa 项目的依赖关系管理器,它有助于优雅地扩展它们。

安装步骤

    pod init
  • 将 CocoaPods 依赖项添加到您的 Podfile
    pod 'MijickTimer'
  • 安装依赖项并生成 .xcworkspace 文件
    pod install
  • 使用新的 XCode 项目文件 .xcworkspace

使用

1. 初始化定时器

调用具有三个参数的 publish() 方法

  • 时间 - 定时器每次触发的时间间隔(以秒为单位)。
  • 容差 - 定时器在更新日期后可能触发的时间(以秒为单位)。
  • 当前时间 - 定时器的当前时间。
  try! MTimer.publish(every: 1, currentTime: $currentTime)

2. 开始定时器

使用 start() 方法开始定时器。您可以使用此方法的参数自定义开始和结束时间。

  try! MTimer
      .publish(every: 1, currentTime: $currentTime)
      .start(from: .init(minutes: 21, seconds: 37), to: .zero)

3. (可选) 观察 TimerStatus 和 TimerProgress

您可以通过调用任一方法来观察这两个值的变化。

  try! MTimer
      .publish(every: 1, currentTime: $currentTime)
      .bindTimerStatus(isTimerRunning: $isTimerRunning)
      .bindTimerProgress(progress: $timerProgress)
      .start(from: .init(minutes: 21, seconds: 37), to: .zero)

4. 停止定时器

定时器可以使用 stop() 方法停止。

  MTimer.stop()

5. 其他定时器控制

  • 一旦停止,定时器可以被继续 - 只需使用 resume() 方法。
  try! MTimer.resume()
  • 要停止并将定时器重置为其初始值,请使用 reset() 方法。
  MTimer.reset()

6. 将当前时间显示为 String

您可以通过调用 toString() 方法将当前的 MTime 转换为字符串。使用 formatter 参数自定义输出。

  currentTime.toString {
      $0.unitsStyle = .full
      $0.allowedUnits = [.hour, .minute]
      return $0
  }

7. 创建更多定时器实例

创建一个新的定时器实例并将其分配给一个新的变量。直接使用上述功能与此实例一起使用

  let newTimer = MTimer.createNewInstance()

  try! newTimer
      .publish(every: 1, currentTime: $currentTime)
      .start()

  newTimer.stop()

尝试我们的演示

亲自查看我们创建的 项目 的克隆,了解其工作原理

许可证

Timer 项目采用 MIT 许可证发布。请查阅 LICENSE 文件以获取详细信息。



我们的其他开源 SwiftUI 库

PopupView - 允许您展示任何弹出视图的最强大的弹出库
Navigattie - 更容易、更干净的导航应用程序方式
CalendarView - 快速创建自己的日历对象
GridView - 轻松布局数据