如何告诉iPhone OS功能停止/取消?
-
28-09-2019 - |
题
我有一个动作,当用户点击屏幕上的按钮时(例如“导入”)开始。同时,屏幕底部出现了一个Uitoolbar,可为用户提供取消此操作的选项。如何将取消消息正确发送到初始功能?如果用户点击“取消”,我不希望“导入”继续。从理论上讲,我可以将其设置为一个单独的线程(然后可以杀死),但是我不确定正确的方法是什么,以便它可以自身清理。能够“杀死”用户已经开始的功能的其他策略还有哪些?
解决方案
使用类似的操作创建一个单独的操作:
NSOperationQueue* queue = [[[NSOperationQueue alloc] init] autorelease];
[queue addOperation: [[[NSInvocationOperation alloc] initWithTarget: self
selector: @selector(_backgroundWorker)
object: nil] autorelease]];
这样,将执行_backgroundWorker,而无需停止主UI线程。
按下一个取消按钮,设置一些内部变量并在_backgroundworker中检查其值。
不隶属于 StackOverflow