NSTimer没有运行选择器?

cri*_*000 0 objective-c nstimer ios

根据我的理解,我有以下两个基本上应该做同样事情的陈述:

//[NSTimer timerWithTimeInterval:2.0 target:self selector:@selector(hideSuccessImageFromAllScreen:) userInfo:nil repeats:NO];
[self performSelector:@selector(hideSuccessImageFromAllScreen:) withObject:nil afterDelay:2.0];
Run Code Online (Sandbox Code Playgroud)

其次是

-(void)hideSuccessImageFromAllScreen:(NSTimer *)timer{...
Run Code Online (Sandbox Code Playgroud)

执行选择器方法运行得很好并且执行选择器.但是,如果我取消注释第一行并注释掉第二行,则选择器永远不会触发.我究竟做错了什么?我必须手动启动计时器吗?

谢谢!

qox*_*qox 6

您必须手动启动计时器,或者使用+[NSTimer scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:],它会自动启动它:

[NSTimer scheduledTimerWithTimeInterval:2.0
                                 target:self
                              selector:@selector(hideSuccessImageFromAllScreen:)
                              userInfo:nil
                               repeats:NO];
Run Code Online (Sandbox Code Playgroud)