Ответ 1
Используйте [NSTimer scheduledTimerWithTimeInterval:60.0 target:self
selector:@selector(checkAlert) userInfo:nil repeats:YES];
.
Возможный дубликат:
Как вызвать функцию в каждую минуту "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
минуты или секунды?
Используйте [NSTimer scheduledTimerWithTimeInterval:60.0 target:self
selector:@selector(checkAlert) userInfo:nil repeats:YES];
.
[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.
}
}