1

我有一个动作,当用户点击屏幕上的按钮时开始(例如“导入”)。同时,屏幕底部会出现一个 UIToolbar,用户可以选择取消此操作。如何正确向初始函数发送取消消息?如果用户点击“取消”,我不希望“导入”继续。理论上我可以将它设置为一个单独的线程(然后我可以杀死它),但我不确定这样做的正确方法是什么,以便它可以自行清理。还有哪些其他策略可以“杀死”用户已经开始的功能?

4

1 回答 1

1

使用类似的东西创建一个单独的操作:

NSOperationQueue* queue = [[[NSOperationQueue alloc] init] autorelease];
[queue addOperation: [[[NSInvocationOperation alloc] initWithTarget: self 
      selector: @selector(_backgroundWorker) 
      object: nil] autorelease]];

这样 _backgroundWorker 将在不停止主 UI 线程的情况下执行。

按下一个取消按钮,设置一些内部变量并检查其在 _backgroundWorker 中的值。

于 2010-08-16T15:12:55.173 回答