So I have a method that performs a loop and because of the way my program works i'm calling this method using,
[self performSelectorInBackground:@selector(myMethod:) withObject:arg];
And the method itself,
- (void)myMethod:(id)arg {
//...
for (//Loop Conditions) {
if (stopMorse) {
break;
}
//Do stuff
}
//...
}
Now I would like to allow the user to stop this loop from running, so is there a way of killing/stopping the thread.
I've tried adding a BOOL but the problem is that it doesn't seem to get updated because it's on a separate thread. What is the best way to stop this loop from running?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…