MyLilTimer 0.1.0

MyLilTimer 0.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最近发布2014年12月

未填写 维护。



  • 作者
  • Jonathon Mah

了解你的时钟

MyLilTimer 是一个针对 iOS 和 Mac OS X 的 Cocoa 计时器类。它的唯一依赖是 Foundation 框架。`MyLilTimer` 具有类似于 NSTimer 的接口,同时还提供了三种行为(三种不同的时钟)。

请阅读 dev etc 上相关的文章:定时器、时钟和 Cocoa

行为

这三种子行为在 这个 YouTube 视频中得到了展示。

MyLilTimerBehaviorHourglass (MyLilTimerClockBoottime)

在经过一段时间后触发计时器,无论系统时钟如何变化和系统休眠。这是人们通常从 NSTimer 预期的行为,而且当在 Xcode 中运行时(以及当 iOS 设备连接到电源时)似乎具有这种行为。

MyLilTimerBehaviorPauseOnSystemSleep (MyLilTimerClockMonotonic)

在系统运行一段时间后触发计时器;当操作系统休眠时将暂停。这是 NSTimer实际行为 —— iOS 设备在断电、屏幕被锁定且没有应用程序保持激活时,会进入休眠状态。

此行为适用于测量长时间运行的操作的速度,例如“3 / 7 项已处理,剩余时间 30 秒”。

MyLilTimerBehaviorObeySystemClockChanges (MyLilTimerClockRealtime)

在系统时钟上的时间超过触发日期时触发计时器。这种行为适用于时钟显示特定时间时触发的闹钟。

用法

设置计时器的最常见方式是使用类便利方法

+[MyLilTimer scheduledTimerWithBehavior:(MyLilTimerBehavior)behavior
                           timeInterval:(NSTimeInterval)intervalSinceNow
                                 target:(id)target
                               selector:(SEL)action
                               userInfo:(id)userInfo]

TimerTest iPhone / iPad 应用程序展示了如何使用 MyLilTimer,以及所有三种行为。

需求

MyLilTimer 使用自动引用计数和 GCD 函数 dispatch_once,这些在 Mac OS X 10.6+ 和 iOS 4+ 上可用。

如果需要,很容易移除这两个依赖以实现与更早系统的兼容性。

安装

只需将 MyLilTimer.hMyLilTimer.m 添加到您的项目文件中。

或者,使用 CocoaPods,将其添加到您的 Podfile

pod 'MyLilTimer'

(说明:我从未使用过 CocoaPods,也不另行推荐它)

NSTimer 功能目前尚未支持

  • 重复计时器
  • 更改触发日期
  • 在除主运行循环之外的其他运行循环中使用(包括后台线程)

许可协议

MyLilTimer 可在 MIT 许可证下使用。请参阅 LICENSE 文件以查看全文。