Пауза и возобновление повторяемого NSTimer при закрытии и открытии окна

Теперь я знаю, что на SO есть вопросы о паузе NSTimer, но нет вопросов по повторяющимся и закрывающимся / открывающимся окнам. Тумблерная пауза работает отлично (проверено кнопкой). Повторное открытие окна выдает ошибку BAD_ACCESS.

- (void)awakeFromNib
{
    self.timer = [[NSTimer scheduledTimerWithTimeInterval:0.85
                                               target:self
                                             selector:@selector(populateTable:)
                                             userInfo:nil
                                              repeats:YES] retain];
}

-(IBAction)fireUpTableWindow:(id)sender
{
    [aTableWindow makeKeyAndOrderFront:self];
    [self resumeTimer:timer];
}


NSDate *pauseStart, *previousFireDate;

-(void) pauseTimer:timer
{
    pauseStart = [[NSDate dateWithTimeIntervalSinceNow:0] retain];    
    previousFireDate = [[timer fireDate] retain];
    [timer setFireDate:[NSDate distantFuture]];
}

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

- (IBAction)closeTableWindow:(id)sender
{
    [self pauseTimer:timer];
    [self->aTableWindow close];
    [self release];
}
}

1 ответ

Решение

Повторное открытие окна выдает ошибку BAD_ACCESS.

Проверьте в Интерфейсном Разработчике, что Окно не установлено, чтобы Выпустить при Закрытии.

Другие вопросы по тегам