se ho creato un runloop del genere:come fermare un runloop attivato dal timer?
NSRunloop* loop = [NSRunloop currentRunLoop];
[runLoop addTimer:anyTimer forMode:NSDefaultRunLoopMode];
riesco a smettere di nuovo? o è l'unico modo per ignorare la notifica che utilizzo per attivare l'ulteriore azione?
ok, faccio un esempio per il problema:
-(void)blinkeffekt:(double)pollingTime{
NSRunLoop* runLoop = [NSRunLoop currentRunLoop];
if (pollingTime != 0) {
NSTimeInterval interval =(double)pollingTime/1000;
NSTimer timer = [NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(polling) userInfo:nil repeats:YES];
[runLoop addTimer:timer forMode:NSDefaultRunLoopMode];
}
else {
[timer invalidate];
}
}
sicuramente, qui ci sono diversi errori - non c'è dubbio. ma penso, mostra il mio problema. e questo non è veramente risolvibile con le risposte fino ad ora.
Ho bisogno di eseguire un timer e fermarlo in seguito. e idealmente fuori da un'altra funzione della classe. ma poi non riesco più ad accedere al "timer" e runloop non permette di capire, se tale "messaggio" è disponibile. e sarebbe estremamente inefficace, se dovessi registrare per ogni chiamata della funzione un nuovo timer.
lì prima, ho dovuto legare il timer per l'oggetto, che io non perdere il riferimento. ma sì, così funziona – nico