You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中使用Countdown Label(非NSTimer)实现倒计时结束触发动作

解决CountdownLabel倒计时结束触发动作的问题

嘿,我刚好用过这个CountdownLabel库,帮你搞定这个问题~这个库本身就封装了倒计时结束的回调机制,完全不用自己去折腾NSTimer,下面给你两种实用的实现方式:

方法一:用完成回调Block

这是最直接省心的方式,你在配置CountdownLabel的时候,直接给它的countdownFinishedBlock属性赋值就行,倒计时结束时这个Block会自动触发:

// 假设你已经初始化并配置好countdownLabel
countdownLabel.countdownFinishedBlock = { [weak self] in
    // 这里写你要执行的动作,比如弹窗提示、发送本地通知
    print("倒计时结束啦!")
    self?.triggerTargetAction()
}

方法二:用代理协议

如果你习惯用代理模式来处理回调,也可以遵循库的代理协议来实现:

  1. 先让你的视图控制器遵循CountdownLabelDelegate协议:
class YourViewController: UIViewController, CountdownLabelDelegate {
    // 你的其他代码...
}
  1. 给countdownLabel设置代理:
countdownLabel.delegate = self
  1. 实现代理方法,倒计时结束时会自动调用这个方法:
func countdownLabelDidFinishCountdown(_ countdownLabel: CountdownLabel) {
    // 在这里执行你的目标动作
    print("代理回调:倒计时完成!")
    self.sendFinishNotification()
}

小提示

  • 记得提前导入CountdownLabel框架(Swift里就是import CountdownLabel)
  • 用Block的时候,记得加[weak self]避免循环引用哦

内容的提问来源于stack exchange,提问作者nc14

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:21:20