Per la vita di me, non riesco a capire perché questo NSTimer non sparerà. ecco tutto il codice che appare rilevante (almeno per me)NSTimer non sparato
- (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];
}
Ho letto la documentazione di mele, e altre domande, ma non riesco a capirlo. Non chiama nemmeno lo timerDireMethod:
una volta. Ho sentito che questo potrebbe essere causato da diversi thread, ma per quanto posso dire, non sto usando più thread.
Tutte le idee sono benvenute.
possibile duplicato del [NSTimer non sparare] (http://stackoverflow.com/questions/6752234/nstimer-not-firing) – Caleb
C'è qualche motivo che si sta utilizzando NSEventTrackingRunLoopMode invece di NSDefaultRunLoopMode? – Caleb
Scusa È tardi qui. L'ho notato e lo aggiungerei alla domanda. ma sì NSDefaultRunLoopMode ha funzionato. Scusa per averti confuso. –