2010-10-26 71 views
1

我有一个NSTimer在共享类中运行。 + (GlobalClass *)sharedInstance;NSTimer与共享类中的EXC_BAD_ACCESS崩溃

基本上它运行一次,第二次运行它只是杀死了整个应用程序。

这就是我正在做的NSTimer

myTimer = [NSTimer scheduledTimerWithTimeInterval:5.0 
              target:self 
              selector:@selector(moveMe) 
              userInfo:nil 
              repeats:YES]; 

方法moveMe只是一个空方法了。所以它不应该在moveMe内发生。

有没有人遇到过这个?

+0

您发布的计时器将只运行一次。那么你是否再次调整它?另外,在这种情况下,'自我'是单身吗? (换句话说,这个计时器是在GlobalClass的一个方法中创建的) – 2010-10-26 23:57:59

+0

Hey Firoze,是的,它应该是重复的:YES。忘了改变这一点,但它看起来像第一次击中moveMe功能马上杀死它。是的,我是单身人士。谢谢,三通 – teepusink 2010-10-27 00:08:01

回答

1

看起来你在选择器名称中缺少冒号。 NSTimer的选择器将NSTimer作为参数。您创建计时器的代码应该如下所示:

myTimer = [NSTimer scheduledTimerWithTimeInterval:5.0 
              target:self 
             selector:@selector(moveMe:) 
             userInfo:nil 
              repeats:NO]; 

请注意冒号moveMe之后。您的方法应该看起来像这样:

- (void)moveMe:(NSTimer *)aTimer { 
    // Code 
}