Re: Problems with NSTimer and NSRunLoop/CFRunLoop
Re: Problems with NSTimer and NSRunLoop/CFRunLoop
- Subject: Re: Problems with NSTimer and NSRunLoop/CFRunLoop
- From: John Stiles <email@hidden>
- Date: Thu, 6 Jan 2005 18:32:31 -0800
Unnecessary how?
If you don't attach your timer to a run loop in a mode, it doesn't run,
period.
On Jan 6, 2005, at 6:18 PM, Brendan Younger wrote:
Not all of CF is open-source, only the relatively uninteresting parts.
=) The code John posted should work, but it's unnecessary. Although,
how do you know that you timer isn't being added to the run loop? You
might be trying to add the timer to a run loop that's never being run
(i.e. in another thread). If you really get desperate, you can pose
as NSRunLoop via something like this:
@interface MyRunLoop : NSRunLoop {
}
@end
@implementation MyRunLoop
- (id)init {
if(!(self = [super init]))
return nil;
NSLog(@"Created run loop %p", self);
return self;
}
- (void)addTimer:(NSTimer*)inTimer forMode:(NSString*)inMode {
[super addTimer:inTimer forMode:inMode];
NSLog(@"Added timer %@ to run loop %p for mode %@", inTimer, self,
inMode);
}
@end
and call [MyRunLoop poseAsClass:[NSRunLoop class]] before the call to
NSApplicationMain(). If that doesn't help, I don't know what to
suggest.
Brendan Younger
On Jan 6, 2005, at 7:58 PM, John Stiles wrote:
Try using
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:120
target:self
selector:@selector(performExpirationCheck:)
userInfo:nil
repeats:YES];
[[NSRunLoop currentRunLoop] addTimer: timer
forMode:NSDefaultRunLoopMode];
And you do know that CF is all open source, right?
On Jan 6, 2005, at 5:52 PM, Mont Rothstein wrote:
I have a timer that is not being added to the run loop, and for the
life of me I can't figure out why.
I call:
[NSTimer scheduledTimerWithTimeInterval:120
target:self
selector:@selector(performExpirationCheck:)
userInfo:nil
repeats:YES]
And, I verified that this calls:
CFRunLoopAddTimer
but when the call to NSTimer returns the run loop does not have the
timer added.
Does anyone have any idea what might be going on, or even a
suggestion on how to debug this? (man would I kill for all of the
Cocoa/CF code to be open-source!)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden