如何中止长时间运行的目标c操作

时间:2013-09-16 10:18:49

标签: ios objective-c exception cancellation

我有一堆"_isCancelled"标志

的长时间运行操作
// long running code
if (_isCancelled)
  return;

// more code
if (_isCancelled)
  return;

// more code

if (_isCancelled)
  return;

// etc.

但如果我能以某种方式从“外部”监听线程中止操作,那么添加更多“长时间运行的代码”会更清晰,更容易

例如

-(void)longRunningAsyncOperation
{
  @try {
   // long running operation
  } @catch
  {
   // if aborted just return
  }
}

-(void)cancelOperation
{
// raise an exception on a "listening" thread
}

对这种方法有何想法?有可能吗?

0 个答案:

没有答案