Skip to content

Instance MethodDispatch

scheduleRepeating(deadline:interval:leeway:)

SwiftDeprecated

Deprecated

This symbol is deprecated.

Sets the deadline, interval and leeway for a timer event that fires at least once.
func scheduleRepeating(deadline: DispatchTime, interval: DispatchTimeInterval, leeway: DispatchTimeInterval = .nanoseconds(0))

Parameters

deadline

The time at which the timer event will be delivered, subject to the leeway and other considerations described above. The deadline is based on Mach absolute time.

interval

The interval for the timer.

leeway

The leeway for the timer.

Discussion

Once this function returns, any pending source data accumulated for the previous timer values has been cleared. The next timer event will occur at deadline and every interval units of time thereafter until the timer source is canceled.

Delivery of a timer event may be delayed by the system in order to improve power consumption and system performance. The upper limit to the allowable delay may be configured with the leeway argument; the lower limit is under the control of the system.

For the initial timer fire at deadline, the upper limit to the allowable delay is set to leeway. For the subsequent timer fires at deadline + N * interval, the upper limit is the smaller of leeway and interval/2.

The lower limit to the allowable delay may vary with process state such as visibility of the application UI. If the timer source was created with flags TimerFlags.strict, the system will make a best effort to strictly observe the provided leeway value, even if it is smaller than the current lower limit. Note that a minimal amount of delay is to be expected even if this flag is specified.

Calling this method has no effect if the timer source has already been canceled.