gpt4 book ai didi

objective-c - 终止 cocoa 应用程序中的所有方法并重新初始化

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

我想终止所有当前调用的方法,然后简单地重新初始化我当前的对象。因此,当用户单击“开始”按钮时,我会调用一堆方法......开始做事情。然后,当用户单击“取消”时,我只需停止所有正在运行的任务/方法并重新初始化。

我不希望应用程序本身终止。所以不能使用[NSApp终止:nil]。我只需要停止所有当前函数,然后我可以调用 [self init];提前致谢。

最佳答案

首先,您必须设置一些标志并禁用用户界面,直到所有方法完成。例如,self.cancelled = YES

接下来,如果设置了该标志,则应调整每个方法以返回:

- (void)doSomething
{
if (self.cancelled) return;
// ...
for (/* ... */) {
// ...
if (self.cancelled) return;
// ...
}
// etc...

}

然后,您需要一种机制来跟踪您的所有方法。您很可能会使用 NSOperationQueuedispatch_queue_t。查看文档以了解如何在队列变空时获取通知。

最后,重置 self.cancelled 标志并解锁您的用户界面。

关于objective-c - 终止 cocoa 应用程序中的所有方法并重新初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866292/

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