2013-03-06 29 views
1

我添加了一個計時器與runloopmode NSEventTrackingRunLoopMode像這樣:NSEventTrackingRunLoopMode - 它總是運行?

NSRunLoop *runLoop = [NSRunLoop currentRunLoop]; 

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.50 
                target:self 
               selector:@selector(targetMethod:) 
               userInfo:nil 
               repeats:YES]; 


[runLoop addTimer:timer forMode:NSEventTrackingRunLoopMode]; 

我認爲這將只是執行,而例如菜單是開放的(模式),但它引發的整個時間,什麼都不做,即使。這是正常的行爲?

+1

是的,這是正常的行爲。您將一個計時器添加到用於跟蹤事件的runloopMode。此runloop始終運行,用於確定是否有需要處理並傳遞給事件處理程序的事件。 – 2013-03-06 07:51:09

+0

@RobinvanDijke - 謝謝,請添加此作爲答案,以便我可以接受它。 – Wesley 2013-03-07 07:09:32

回答

0

是的,這是正常的行爲。您將一個計時器添加到用於跟蹤事件的runloopMode。此runloop始終運行,用於確定是否有需要處理並傳遞給事件處理程序的事件。