gpt4 book ai didi

objective-c - 如何终止循环/线程

转载 作者:行者123 更新时间:2023-12-03 17:04:50 25 4
gpt4 key购买 nike

这是我的程序的一部分。按下按钮后,findDuplicates 中的循环将在后台线程中启动。有没有办法通过按另一个按钮来停止/杀死线程/循环?

- (IBAction)countDups:(id)sender {
[self performSelectorInBackground:@selector(findDuplicates) withObject:nil];
}

-(void)findDuplicates
{
...
for(int index=0;index<self.resultList.count;index++)
{ ... }
...
}

最佳答案

您可以从后台线程返回。创建一个成员变量,并用 NO 对其进行初始化。

- (IBAction)countDups:(id)sender {
mCancel = NO;
[self performSelectorInBackground:@selector(findDuplicates) withObject:nil];
}

-(IBAction)stop
{
mCancel = YES; //BOOL member variable;
}

-(void)findDuplicates
{
...
for(int index=0;index<self.resultList.count;index++)
{
If(mCancel)
return; // return for thread to end

... }
...
}

关于objective-c - 如何终止循环/线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12352286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com