Como pausar um NSTimer? [duplicado]

Esta questão já tem uma resposta aqui:

Como posso pausar programaticamente um NSTimer? 15 respostas

Eu tenho um jogo que usa um temporizador. Eu quero fazer isso para que o usuário possa selecionar um botão e ele pause o cronômetro e quando eles clicarem nesse botão novamente, ele irá cancelar o temporizador. Eu já tenho código para o timer, só preciso de ajuda para pausar o timer e o botão de ação dupla.

Código para temporizador:

-(void)timerDelay {

    mainInt = 36;

    timer = [NSTimer scheduledTimerWithTimeInterval:1.0
                                         target:self
                                       selector:@selector(countDownDuration)
                                       userInfo:nil
                                        repeats:YES];
}

-(void)countDownDuration {

    MainInt -= 1;

    seconds.text = [NSString stringWithFormat:@"%i", MainInt];
    if (MainInt <= 0) {
        [timer invalidate];
        [self delay];
    }

}

questionAnswers(2)

yourAnswerToTheQuestion