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 回答