使用scheduledTimerWithTimeInterval添加时,NSTimer不会触发选择器

xce*_*eph 8 nstimer ios

我有一个这样的代码片段:

m_timer = [NSTimer scheduledTimerWithTimeInterval:timeOutInSeconds
                                                       target:self
                                                     selector:@selector(activityIndicatorTimer:)
                                                     userInfo:nil
                                                      repeats:NO];
Run Code Online (Sandbox Code Playgroud)

当我这样调用它时,在给定的timeOutInSeconds之后不会触发选择器.但是,如果我将其修改为如下所示,则选择器将被调用两次.

NSLog(@"Timer set");
m_timer = [NSTimer scheduledTimerWithTimeInterval:timeOutInSeconds
                                               target:self
                                             selector:@selector(activityIndicatorTimer:)
                                             userInfo:nil
                                              repeats:NO];
[[NSRunLoop currentRunLoop] addTimer:m_timer forMode:NSRunLoopCommonModes];
Run Code Online (Sandbox Code Playgroud)

任何人都可以提出任何关于我可能做错的建议吗?

我正在使用XCode 5.1,并在7.1.1 iPhone 4S上构建

nmh*_*nmh 37

在主线程中调用此计时器:

dispatch_async(dispatch_get_main_queue(), ^{
   m_timer = [NSTimer scheduledTimerWithTimeInterval:timeOutInSeconds
                                                   target:self
                                                 selector:@selector(activityIndicatorTimer:)
                                                 userInfo:nil
                                                  repeats:NO];
});
Run Code Online (Sandbox Code Playgroud)