2010-10-26 73 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 
}