NSTimer没有运行选择器?

时间:2012-09-29 19:43:13

标签: objective-c ios nstimer

我有以下两个陈述,实际上应该完全按照我的理解做同样的事情:

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

接着是

-(void)hideSuccessImageFromAllScreen:(NSTimer *)timer{...

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

谢谢!

1 个答案:

答案 0 :(得分:6)

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

[NSTimer scheduledTimerWithTimeInterval:2.0
                                 target:self
                              selector:@selector(hideSuccessImageFromAllScreen:)
                              userInfo:nil
                               repeats:NO];