0

for...ループから抜け出すことは可能ですか? ViewController にはループがあります。そのループ内では、いくつかのシステム サウンドが次々と再生されます。for..loop は、plist から上向きにカウントされます。また、遅延を取得するためのスリープ機能もあります。ボタンでループを開始し、停止ボタンが必要です。しかし、ループが進行している限り、どのボタンをもう一度押しても反応しません。このループを止めることができるかどうか、またその方法は?

4

2 に答える 2

4

しかし、ループが進行している限り、どのボタンをもう一度押しても反応しません。

さて、ここで少し異なる問題があります。あなたがしていることは、ループで UI スレッドをブロックすることです。ループが「ループ」している間は UI を使用できないため、ループを抜けてもあまり効果はありません。

おそらくスレッド化を検討する必要があります。新しいスレッドで音楽を再生する場合、UI スレッドを開いたままにして、タッチ入力を受信できるようにします。

Paras Joshi がそのスレッドの回答で言ったことをいつでも実行できます。または、NSTimer を使用してループを作成することもできます。タイマーを無効にして、呼び出しを停止することができます。

于 2013-03-28T10:03:02.617 に答える
1

この次の例を参照してください

for(int i = 0;i<[yourFirstArray count];i++){
    for(int j = 0;j<[yourSecondArray count];j++){ 
           if (yourConition)
                  break; // here you break out from forloop if "if" condition is true...
     }
}
于 2013-03-28T09:58:12.397 に答える