NSTimer不会从AppDelegate重复

时间:2012-05-11 14:37:10

标签: iphone ios nstimer

为什么在appDidFinishLaunching中放置时不会重复?

self.ti = [NSTimer timerWithTimeInterval:10. target:self selector:@selector(bounce:) userInfo:nil repeats:YES];
[self.ti fire];
非常感谢

2 个答案:

答案 0 :(得分:4)

我认为您的bounce签名错误。它应该是

- (void)bounce:(NSTimer*)theTimer {
    NSLog(@"Here...");
}

您应该使用selector(bounce:)来安排此方法。您还应该拨打scheduledTimerWithTimeInterval而不是timerWithTimeInterval

self.ti = [NSTimer
    scheduledTimerWithTimeInterval:10.
                            target:self
                          selector:@selector(bounce:)
                          userInfo:nil
                           repeats:YES];

答案 1 :(得分:4)

我不确定它是否会有所帮助,但请尝试使用scheduledTimerWithTimeInterval方法。一个例子:

self.ti = [NSTimer scheduledTimerWithTimeInterval:10. target:self selector:@selector(bounce) userInfo:nil repeats:YES];

希望有所帮助