NSTimer
Inherits From:
NSObject
Conforms To:
NSObject (NSObject)
Declared In:
Foundation/NSTimer.h
Class Description
NSTimer creates timer objects, or more simply, timers. A timer waits until a certain time interval has elapsed and then fires, sending a specified message to a specified object. For example, you could create an NSTimer that sends a message to a window, telling it to update itself after a certain time interval.Timers work in conjunction with NSRunLoop objects. NSRunLoops control loops that wait for input, and they use timers to help determine the maximum amount of time they should wait. When the timer's time limit has elapsed, the NSRunLoop fires the timer (causing its message to be sent), then checks for new input.
There are several ways to create a timer. The scheduledTimerWithTimeInterval
... class methods automatically register the new timer with the current NSRunLoop object in the default mode (NSDefaultRunLoopMode). The timerWithTimeInterval
... class methods create timers that you may register at a later time by sending the message addTimer:forMode:
to the NSRunLoop. If you specify that the timer should repeat, it will automatically reschedule itself after it fires.
There is no method that removes the association of a timer from an NSRunLoop-send the timer the invalidate
message instead. invalidate
disables the timer, so it will no longer affect the NSRunLoop.
See the NSRunLoop class description for more information on NSRunLoops.
- Creating a timer
- + scheduledTimerWithTimeInterval:
invocation:repeats:- + scheduledTimerWithTimeInterval:target:selector:
userInfo:repeats:- + timerWithTimeInterval:invocation:repeats:
- + timerWithTimeInterval:target:selector:
userInfo:repeats: - + scheduledTimerWithTimeInterval:target:selector:
- + scheduledTimerWithTimeInterval:
- Firing a timer
- - fire
- Stopping a timer
- - invalidate
- Getting information about a timer
- - isValid
- - fireDate
- - timeInterval
- - userInfo
- - fireDate
- - isValid
Class Methods
scheduledTimerWithTimeInterval:invocation:repeats:
+ (NSTimer *)scheduledTimerWithTimeInterval:
(NSTimeInterval)secondsinvocation:
(NSInvocation *)invocationrepeats:
(BOOL)repeats
Returns a new NSTimer object and registers it with the current NSRunLoop in the default mode. After seconds have elapsed, the timer fires, sending invocation's message to its target. If seconds is less than or equal to 0.0, this method chooses a nonnegative interval. If repeats is YES, the timer will repeatedly reschedule itself.
scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
+ (NSTimer *)scheduledTimerWithTimeInterval:
(NSTimeInterval)secondstarget:
(id)targetselector:
(SEL)aSelector userInfo:
(id)userInforepeats:
(BOOL)repeats
Returns a new NSTimer object and registers it with the current NSRunLoop in the default mode. After seconds have elapsed, the timer fires, sending the message aSelector to target. The aSelector method must take only one argument, an NSTimer object. The timer passes itself as the argument to aSelector. To pass more information to the target, use userInfo. The target gets userInfo by sending userInfo
to the timer.
If seconds is less than or equal to 0.0, this method chooses a nonnegative interval. If repeats is YES, the timer will repeatedly reschedule itself.
timerWithTimeInterval:invocation:repeats:
+ (NSTimer *)timerWithTimeInterval:
(NSTimeInterval)secondsinvocation:
(NSInvocation *)invocationrepeats:
(BOOL)repeats
Returns a new NSTimer that, when registered, will fire after seconds. If seconds is less than or equal to 0.0, this method chooses a nonnegative interval. Upon firing, the timer sends invocation's message to its target. If repeats is YES, the timer will repeatedly reschedule itself after firing.
timerWithTimeInterval:target:selector:userInfo:repeats:
+ (NSTimer *)timerWithTimeInterval:
(NSTimeInterval)secondstarget:
(id)targetselector:
(SEL)aSelectoruserInfo:
(id)userInforepeats:
(BOOL)repeats
Returns a new NSTimer that, when registered, will fire after seconds. Upon firing, the timer sends aSelector to target. The aSelector method must take only one argument, an NSTimer object. The timer passes itself as the argument to aSelector. To pass more information to the target, use userInfo. The target gets userInfo by sending userInfo
to the timer.
If seconds is less than or equal to 0.0, this method chooses a nonnegative interval. If repeats is YES, the timer will repeatedly reschedule itself.
Instance Methods
fire
- (void)fire
Causes the receiver's message to be sent to its target.
fireDate
- (NSDate *)fireDate
Returns the date at which the receiver will fire. If the timer is no longer valid, this method returns the last date at which the timer fired. Use isValid
to verify that the timer is valid.
See also:
- isValid
invalidate
- (void)invalidate
Stops the receiver from ever firing again. This is the only way to remove a timer from an NSRunLoop.
isValid
- (BOOL)isValid
Returns YES if the timer is currently valid, no otherwise.
timeInterval
- (NSTimeInterval)timeInterval
Returns the time interval associated with the receiver.
userInfo
- (id)userInfo
Additional data the target may use when the receiver is fired.
See also:
+ scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
,
+ timerWithTimeInterval:target:selector:userInfo:repeats:
Copyright © 1997, Apple Computer, Inc. All rights reserved.