Contents

init(timeInterval:target:selector:userInfo:repeats:)

Initializes a timer object with the specified object and selector.

Declaration

init(timeInterval ti: TimeInterval, target aTarget: Any, selector aSelector: Selector, userInfo: Any?, repeats yesOrNo: Bool)

Parameters

  • ti:

    The number of seconds between firings of the timer. If ti is less than or equal to 0.0, this method chooses the nonnegative value of 0.0001 seconds instead.

  • aTarget:

    The object to which to send the message specified by aSelector when the timer fires. The timer maintains a strong reference to this object until it (the timer) is invalidated.

  • aSelector:

    The message to send to target when the timer fires.

    The selector should have the following signature: timerFireMethod: (including a colon to indicate that the method takes an argument). The timer passes itself as the argument, thus the method would adopt the following pattern:

    - (void)timerFireMethod:(NSTimer *)timer
  • userInfo:

    Custom user info for the timer.

    The timer maintains a strong reference to this object until it (the timer) is invalidated. This parameter may be nil.

  • yesOrNo:

    If True, the timer will repeatedly reschedule itself until invalidated. If False, the timer will be invalidated after it fires.

Return Value

A new NSTimer object, configured according to the specified parameters.

Discussion

You must add the new timer to a run loop, using add(_:forMode:). Then, after ti seconds have elapsed, the timer fires, sending the message aSelector to target. (If the timer is configured to repeat, there is no need to subsequently re-add the timer to the run loop.)

See Also

Creating a Timer