對於我的生活,我無法弄清楚爲什麼這個NSTimer不會射擊。這裏是所有出現相關的代碼(至少對我來說)NSTimer沒有射擊
- (IBAction)connectClick:(id)sender
{
if (connected)
{
NSLog(@"Disconnecting");
[timer invalidate];
timer = nil;
connected = NO;
[Connect setStringValue:@"Connect"];
NSLog(@"Finished\n");
}
else
{
NSLog(@"Connecting");
timer = [NSTimer timerWithTimeInterval:2.0 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];
//[timer fire]; tested this line. same results
[Connect setStringValue:@"a"];
connected = YES;
NSLog(@"Finished\n");
}
}
- (void)timerFireMethod:(NSTimer*)theTimer
{
NSLog(@"Fireing event");
//[self resetRequest];
//[spinner startAnimation:nil];
//[request startAsynchronous];
}
我已閱讀蘋果文檔,以及其他問題,但我不能弄明白。它甚至不叫timerDireMethod:
一次。我聽說這可能是由不同的線程引起的,但據我所知,我沒有使用多線程。
歡迎任何想法。
的[的NSTimer不費一槍]可能重複(http://stackoverflow.com/questions/6752234/nstimer-not-firing) – Caleb 2012-02-19 05:59:19
是否有某種原因,你用NSEventTrackingRunLoopMode代替NSDefaultRunLoopMode? – Caleb 2012-02-19 06:06:52
對不起在這裏晚了。我只是注意到了這一點,並打算在這個問題上加上這一點。但是是NSDefaultRunLoopMode工作。抱歉讓你困惑。 – 2012-02-19 06:07:53