sin retraso alcanzado con NSTimer

Quiero retrasar entre cada resultado de salida, por ejemplo, 1 segundo. El siguiente código no se está demorando, pero se está procesando correctamente. ¿Por qué no se está demorando entre cada uno?dealCard?

- (IBAction)startPause
{
    if ([self.deal length]>cardNum) {
        timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(dealCard) userInfo:nil repeats:NO];
        [timer fire];
    }
}


- (void) dealCard{
    card.text = [NSString stringWithFormat:@"%i",cardNum+1];
    cardTo.text = [self.deal substringWithRange:(NSRange){(cardNum+self.randCut)%[self.cardList count],1}];
    cardNum=cardNum + 1;
    [self startPause];
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta