2012-06-27 60 views
0

應用程序打倒帶時兩次只是iPhone設備上測試應用程序崩潰與消息[__NSDate timeIntervalSinceNow]: message sent to deallocated instance[__NSDate timeIntervalSinceNow]:消息發送到釋放實例

-(void)pauseTimer{ 
pauseStart = [[NSDate dateWithTimeIntervalSinceNow:0] retain]; 

previousFireDate = [[timer fireDate] retain]; 

[timer setFireDate:[NSDate distantFuture]]; 
} 


-(void)dealloc 
{ 
[audioPlayer release]; 
[pauseStart release]; 
[previousFireDate release]; 
[super dealloc]; 
} 


    -(void)playpauseAction:(id)sender { 

if([audioPlayer isPlaying]) 
{ 
    [sender setImage:[UIImage imageNamed:@"Play Icon.png"] forState:UIControlStateSelected]; 
    [audioPlayer pause]; 
    [self pauseTimer]; 
    [self pauseLayer:self.view.layer]; 
}else{ 
    [sender setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal]; 
    [audioPlayer play]; 
    [self resumeTimer]; 
    [self resumeLayer:self.view.layer]; 

    if(isFirstTime == YES) 
    { 
     self.timer = [NSTimer scheduledTimerWithTimeInterval:11.0 
                 target:self 
                selector:@selector(displayviewsAction:) 
                userInfo:nil 
                repeats:NO]; 
     isFirstTime = NO; 
    } 
    } 
    } 


-(void)rewind:(id)sender{ 
[timer invalidate]; 
audioPlayer.currentTime = 0; 
MainViewController *viewController = [[[MainViewController alloc] init]autorelease]; 
viewController.view.frame = CGRectMake(0, 0, 320, 480); 
[self.view addSubview:viewController.view]; 
[self.view addSubview:toolbar]; 
[self playpauseAction:_playButton]; 
} 

一次故意打快退按鈕時,iPhone設備上測試應用程序應用程序崩潰並給出消息[__NSDate timeIntervalSinceNow]:發送到釋放實例的消息

任何想法是什麼錯誤。

欣賞幫助。

謝謝。

+0

你的代碼中有沒有地方叫'timeIntervalSinceNow'(不是'dateWithTimeIntervalSinceNow')? –

+0

- (void)resumeTimer {float 0; pauseTime = -1 * [pauseStart timeIntervalSinceNow]; [timer setFireDate:[previousFireDate initWithTimeInterval:pauseTime sinceDate:previousFireDate]]; } – user1452248

+1

好的,所以'pauseStart'可能是問題......它是如何定義的? ...還有其他地方發佈了嗎? –

回答

0

移除

[pauseStart release]; 
    [previousFireDate release]; 

從dealloc方法。

這解決了我的問題。

+0

我想你會發現你只是隱藏了一個問題並創建了另一個問題,即內存泄漏。 –

+0

我想你是正確的儀器獲取NSDate內存泄漏 – user1452248

+0

NSDate泄漏的負責框架是恢復計時器和pauseTimer。我怎樣才能解決這個問題。如果你可以有任何幫助。將非常感激。 – user1452248

相關問題