所以我有一个执行循环的方法,因为我的程序工作方式我正在调用这个方法,
[self performSelectorInBackground:@selector(myMethod:) withObject:arg];
方法本身,
- (void)myMethod:(id)arg {
//...
for (//Loop Conditions) {
if (stopMorse) {
break;
}
//Do stuff
}
//...
}
现在我想允许用户停止运行这个循环,所以有没有办法杀死/停止线程。
我已经尝试添加BOOL,但问题是它似乎没有更新,因为它在一个单独的线程上。阻止此循环运行的最佳方法是什么?
答案 0 :(得分:4)
您不应出于this answer to a similar question和this answer to another similar question中列出的原因强行终止/停止该帖子。
应该可以像你一样检查一个布尔值,并且设置布尔值的另一个线程应该没有问题。你可以发布试图设置布尔值的代码吗?