7
如果我成立了一個這樣的runloop:如何停止一個定時器觸發runloop?
NSRunloop* loop = [NSRunloop currentRunLoop];
[runLoop addTimer:anyTimer forMode:NSDefaultRunLoopMode];
我可以再次停止呢? 或者是忽略我用來觸發進一步操作的通知的唯一方法?
好,我舉一個例子對這個問題:
-(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];
}
}
當然,這裏有幾個錯誤 - 沒有任何問題。但我認爲,這顯示了我的問題。直到現在,這個答案並不能真正解決。
我需要運行一個計時器並在稍後停止。理想的是脫離課堂上的另一個功能。 但後來我不能訪問「計時器」了,runloop不允許弄清楚,如果這樣的「消息」可用。 ,如果我爲每個函數的每個調用註冊一個新的定時器,它將是非常無效的。
那裏,我不得不計時器綁定到對象,即我不鬆散的參考。但是,是的,所以它的工作 – nico 2010-08-09 11:21:22