私のViewControllerでは、2 つの画像 (現在表示されている) を同時に非表示にしようとしましたが、3 秒の遅延がありました。私は
[self performSelector:@selector(hideThem:) withObject:val afterDelay:3.0];
ここで、" hideThem" は、以下を使用して画像を非表示にするルーチンです。「val」は単なる でありNSNumber、この質問にとって重要ではありません。
[image1 setHidden:YES];
[image2 setHidden:YES];
hideThem" " を ( を使用せずに) 直接呼び出すとperformSelector、両方の画像がまったく同時に消えます。これは望ましい効果です。
を使用するperformSelectorと、示されているように、1 つの画像が非表示になり、0.5 秒 (またはそれくらい) 後に別の画像が非表示になります。独自の実行ループはありません。画像はUIImageViewオブジェクトであり、「自己」の下のビュー階層の一部です。
これは がイベントのタイミングを処理する方法による効果だと思いますが、「 」への呼び出しの「後」に両方を非表示に設定する必要がある場合に、その 0.5 秒の遅延でIOSの効果が発生する理由がわかりません。setHiddenperformSelectorhideThem
IOS の何が原因でこの動作が発生しますか?
この問題を解決するために推奨される方法は何ですか (つまり、3 秒後に両方の画像が同時に視覚的に非表示になります。