3 Möglichkeiten eine iPhone Anwendung zu pausieren:
[NSThread sleepForTimeInterval:5];
sleep(5);
usleep(5000000);
Alle 3 Anweisungen bewirken das gleiche Ergebniss, die Anwenudng wird schlafen gelegt. nachteil aller Optionen: die Anwendung wird wirklich unterbrochen, d.h. weitere Schritte sind nicht möglich.
Wenn man die Anweundung nicht komplett pausieren möchte, könnte der NSTimer ein gewünschtes Ergebniss liefern:
- (IBAction)tueEtwas:(id)sender
{
[indicator startAnimation:self];
// tue etwas
[NSTimer scheduledTimerWithTimeInterval:5
target:self
selector:@selector(stopTueEtwas:)
userInfo:nil
repeats:NO];
}
- (void)stopTueEtwas:(id)sender
{
[indicator stopAnimation:self];
[sender invalidate];
}
Das startet einen NSTimer, der nach 5 Sekunden eine Methode aufruft.
sleep();
usleep();