iPhone開発 NSThread sleepForTimeInterval にてとある動作を一時停止
とある処理中等や、わざと一瞬とある処理を動きを止めたい
ことが先日あったので、処理の前に下記のロジックにて停止させたのですが、
メインスレッドの中で実行したので、案の定 UI 等全体の処理が止まってしまいました。
[NSThread sleepForTimeInterval:1.0];
UI等、全体の処理も停止しても問題がない場合は上記でも良いのですが、
UI等、メインスレッド等を停止したくなかったので、下記のように
別スレッドにて実行させたのですが、今度は処理終了後全体が停止してしまった・・・
[NSThread detachNewThreadSelector:@selector(stoppThread) toTarget:self withObject:nil]; - (void)stoppThread { [NSThread sleepForTimeInterval:0.5]; AppController *app = (AppController*) [[UIApplication sharedApplication] delegate]; [app setGameClearView]; }
取り急ぎ、タイマーメッソドにて実行したらうまく動作したので、それにて今回は解決にしました。
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(stoppThread) userInfo:nil repeats:NO];
また、時間のある時に調査します。