Как автоматическая функция вызова каждые x раз

Возможный дубликат:
Как вызвать функцию в каждую минуту "X" ?

Как периодически вызывать определенную функцию?

- (void)viewDidLoad
{ 
    [super viewDidLoad];
    [self checkAlert];   
}



-(void)checkAlert{
    // Server output Alert Note
    NSString *alert_note_hostStr = @"http://www.loxleyintranet.com/MobileApplication/xml/alert_note.php";
    NSData *alert_note_dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:alert_note_hostStr]];
    NSString *alert_note_serverOutput = [[NSString alloc] initWithData:alert_note_dataURL encoding:NSASCIIStringEncoding];

    if ([alert_note_serverOutput isEqualToString:@"0"]) {
        alertImage.hidden = YES;
        alertLabel.hidden = YES;
        underMainBG.hidden = YES;
        alertLabel.text = [NSString stringWithFormat:@"No Alert"];
    }else{    
        alertLabel.text = [NSString stringWithFormat:@"You've Got Note (%@)" ,alert_note_serverOutput];

    }    
}

Как я могу называть [self checkAlert]; каждые x минуты или секунды?

Ответ 1

Используйте [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(checkAlert) userInfo:nil repeats:YES];.

Ответ 2

[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(myTimerTick:) userInfo:nil repeats:YES]; // the interval is in seconds...

... тогда ваш метод myTimerTick: должен выглядеть так.

-(void)myTimerTick:(NSTimer *)timer
{
    if(some_contiditon)
    {
        // Do stuff...
    }
    else
    {
        [timer invalidate]; //to stop and invalidate the timer.
    }
}