コントロールが入力のためにユーザーに戻ったときにのみ画像が更新されるようなものです。
それはまさに何が起こるかです。UI はメイン スレッドで更新されるため、コードの実行中に更新は行われません。
目的を達成するには、タイマーが必要です。NSTimer のドキュメントを見てください。2 番目の画像を変更するメソッドを起動するタイマーを作成してから、3 番目の画像を変更するタイマーを再度キューに入れる必要があります。必要に応じてタイマーを作成する便利な方法があります。+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)seconds target:(id)target selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)repeats
[NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(updateImage2:) userInfo:nil repeats:NO];
次に、メソッドがあります:
- (void) updateImage2(NSTimer*)theTimer
{
//Update image 2 here
// play sound 2 here
[NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(updateImage3:) userInfo:nil repeats:NO];
}
メソッド updateImage3 の実装はあなたに任せます: ;-)
このように更新を実行すると、メイン スレッドに UI を更新する機会が与えられます。