MyLilTimer
是一个针对 iOS 和 Mac OS X 的 Cocoa 计时器类。它的唯一依赖是 Foundation 框架。`MyLilTimer` 具有类似于 NSTimer
的接口,同时还提供了三种行为(三种不同的时钟)。
请阅读 dev etc 上相关的文章:定时器、时钟和 Cocoa。
这三种子行为在 这个 YouTube 视频中得到了展示。
在经过一段时间后触发计时器,无论系统时钟如何变化和系统休眠。这是人们通常从 NSTimer
预期的行为,而且当在 Xcode 中运行时(以及当 iOS 设备连接到电源时)似乎具有这种行为。
在系统运行一段时间后触发计时器;当操作系统休眠时将暂停。这是 NSTimer
的 实际行为 —— iOS 设备在断电、屏幕被锁定且没有应用程序保持激活时,会进入休眠状态。
此行为适用于测量长时间运行的操作的速度,例如“3 / 7 项已处理,剩余时间 30 秒”。
在系统时钟上的时间超过触发日期时触发计时器。这种行为适用于时钟显示特定时间时触发的闹钟。
设置计时器的最常见方式是使用类便利方法
+[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.h
和 MyLilTimer.m
添加到您的项目文件中。
或者,使用 CocoaPods,将其添加到您的 Podfile
pod 'MyLilTimer'
(说明:我从未使用过 CocoaPods,也不另行推荐它)
MyLilTimer 可在 MIT 许可证下使用。请参阅 LICENSE 文件以查看全文。