0

セレクターによるメソッド呼び出しへのループを停止することは可能ですか?実行中のすべてのプロセスを停止するための新しいメソッドを作成しましたが、audioloopメソッドでwhileループを停止する方法がわかりません。

これは私のコードです。以下を参照してください。

-(id) init{
    if((self=[super init]) ) { 
       // @property int isLoop;
       self.isLoop = 1;
       audioThread = [NSThread new];
       [audioThread initWithTarget:self selector:@selector(audioLoop) object:nil];
       [audioThread setThreadPriority:1];
       [audioThread start];   
    }
}

// in this method i would stop while loop of audioLoop method
-(void)stopAllRunning{
    self.isLoop = 0;
    [audioThread cancel];
}

 -(void) audioLoop{
    while (isLoop) {
        [_midiClock update];
    }
 }
4

1 に答える 1

0

conditionこれを行うには、breakステートメントを追加するだけです。

while (true)
{
     if(yourCondition)
        break;
     else
        [_midiClock update];
}

または単に:

while (yourCondition)
{
   [_midiClock update];
}
于 2013-02-16T13:26:25.007 に答える