需要使用init(fireAt :)计时器的帮助

时间:2016-10-26 21:52:00

标签: swift timer nstimer runloop

我想使用init(fireAt:interval:target:selector:userInfo:repeats :)计时器在特定时间调用特定函数。但问题是我不知道如何初始化它。在文档中它说:

'您必须使用add(_:forMode :)'将新计时器添加到运行循环中。 (https://developer.apple.com/reference/foundation/timer/1415700-init

但我不知道我是怎么做的。有人可以帮我解释一下吗?

1 个答案:

答案 0 :(得分:0)

尝试使用类函数scheduledTimerWithTimeInterval

Swift 3

var calender = Calendar(identifier: .gregorian)

calender.timeZone = TimeZone(abbreviation: "GMT")!

let tomorrow = calender.date(byAdding: .day, value: 1, to: Date())
let midnight = calender.startOfDay(for: tomorrow!)

let timer = Timer(
    fireAt: midnight,
    interval: 5,
    target: self,
    selector: #selector(didInterval),
    userInfo: nil,
    repeats: false
)