34 + (
CPDelayedPerform)delayedPerformWithObject:anObject selector:(
SEL)aSelector argument:anArgument
39 - (id)initWithObject:(
id)anObject selector:(
SEL)aSelector argument:(
id)anArgument
41 if (
self = [super
init])
44 _selector = aSelector;
45 _argument = anArgument;
53 if (!anOther || !anOther.isa)
56 if (_object !== anOther._object)
59 if (!_selector || !anOther._selector)
62 if (_selector !== anOther._selector)
65 if (_argument !== anOther._argument)
75 [_object performSelector:_selector withObject:_argument];
79 CPLog(
@"exception %@ raised during delayed perform", ex);
89 for (var aKey in _timersForModes)
91 if (!_timersForModes.hasOwnProperty(aKey))
94 var timersForMode = _timersForModes[aKey];
95 for (var i = 0, count = [timersForMode count]; i < count; i++)
97 var aTimer = [timersForMode objectAtIndex:i],
98 userInfo = [aTimer userInfo];
100 if ([userInfo isKindOfClass:
CPDelayedPerform] && [userInfo isEqualToPerform:aDelayedPerform])
110 + (void)cancelPreviousPerformRequestsWithTarget:target selector:(
SEL)selector object:argument
117 + (void)cancelPreviousPerformRequestsWithTarget:target
124 + (void)_delayedPerform:(
CPTimer)aTimer
126 var aDelayedPerform = [aTimer
userInfo];
131 + (void)object:object performSelector:(
SEL)selector withObject:argument afterDelay:(CPTimeInterval)delay inModes:(CPArray)modes
136 for (var i = 0, count = [modes count]; i < count; i++)
137 [[
CPRunLoop currentRunLoop] addTimer:aTimer forMode:[modes objectAtIndex:i]];
140 - (void)performSelector:(
SEL)selector withObject:object afterDelay:(CPTimeInterval)delay
142 [[
self class] object:self performSelector:selector withObject:object afterDelay:delay inModes:[CPArray arrayWithObject:CPDefaultRunLoopMode]];
145 - (void)performSelector:(
SEL)selector withObject:object afterDelay:(CPTimeInterval)delay inModes:(CPArray)modes
147 [[
self class] object:self performSelector:selector withObject:object afterDelay:delay inModes:modes];
The main run loop for the application.
CPRunLoop currentRunLoop()
void invalidateTimerWithDelayedPerform:(CPDelayedPerform aDelayedPerform)
CPTimer timerWithTimeInterval:target:selector:userInfo:repeats:(CPTimeInterval seconds, [target] id aTarget, [selector] SEL aSelector, [userInfo] id userInfo, [repeats] BOOL shouldRepeat)
A timer object that can send a message after the given time interval.