1

我添加了一个带有 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];

我认为这只会在例如菜单打开(模式)时执行,但它会触发整个时间,即使什么都不做。这是正常行为吗?

4

1 回答 1

0

是的,这是正常行为。您将计时器添加到用于跟踪事件的 runloopMode。此运行循环一直运行,用于确定是否有事件需要处理并传递给您的事件处理程序。

于 2013-03-07T08:04:30.703 回答