我需要一个带有 <foo>
的类执行后台任务的方法。
这<foo>
方法被不同的线程多次调用:每次调用此方法时,我都需要停止之前分配的后台线程并启动一个新线程,因此唯一有效的后台任务是最后创建的。
如何实现?
谢谢
最佳答案
您可以使用NSOperation 类来取消您的操作。 Refer
-(void)startMyOperation
{
//Cancel the existing operation
[self cancelOperation];
self.operation = [NSBlockOperation blockOperationWithBlock:^{
//your code to be done in the background
}];
}
-(void)cancelOperation
{
if(![self.operaion isFinished])
[self.operation cancel];
}
关于iOS可取消后台任务实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24609220/