NSEventTrackingRunLoopMode - 这总是运行?

时间:2013-03-06 07:27:46

标签: objective-c cocoa nstimer nsrunloop

我已经添加了一个带有runloopmode 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 个答案:

答案 0 :(得分:0)

是的,这是正常行为。您可以向runloopMode添加一个计时器,用于跟踪事件。此runloop一直运行,用于确定是否存在需要处理并传递给事件处理程序的事件。