gpt4 book ai didi

ios - NSTimer 每分钟运行一次,但在第一秒

转载 作者:可可西里 更新时间:2023-10-31 23:56:36 28 4
gpt4 key购买 nike

我有使用 NSTimer 每分钟运行一次的经验,比如

NSTimer.scheduledTimerWithTimeInterval(60.0, target: self, selector: Selector("everyMinute"), userInfo: nil, repeats: true)

是否可以使用 NSTimer、其他一些类或其他一些控件每分钟运行一些方法,但在一分钟的第一秒?

我确实知道如何自己实现它,但我首先要检查它是否已经存在?

最佳答案

一种方法是使用 NSCalendar 计算出当前的下一分钟并安排计时器从该时间开始,在 runLoop 上手动安排

let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(NSCalendarUnit.CalendarUnitEra|NSCalendarUnit.CalendarUnitYear|NSCalendarUnit.CalendarUnitMonth|NSCalendarUnit.CalendarUnitDay|NSCalendarUnit.CalendarUnitHour|NSCalendarUnit.CalendarUnitMinute, fromDate: date)
components.minute += 1
components.second = 1
let nextMinuteDate = calendar.dateFromComponents(components)
let timer = NSTimer(fireDate: nextMinuteDate!, interval: 60, target: self, selector: Selector("everyMinute"), userInfo: nil, repeats: true)
NSRunLoop.mainRunLoop().addTimer(timer, forMode: NSDefaultRunLoopMode)

关于ios - NSTimer 每分钟运行一次,但在第一秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27232131/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com