gpt4 book ai didi

cocoa - 你把 NSDocument 子类的清理代码放在哪里?

转载 作者:行者123 更新时间:2023-12-03 16:05:57 24 4
gpt4 key购买 nike

我有一个基于文档的应用程序,并且我对 NSDocument 进行了子类化并提供了所需的方法,但我的文档需要进行一些广泛的清理(需要运行外部任务等)。最好把它放在哪里?我尝试了几种不同的方法,例如:

  • 关闭
  • 关闭:
  • canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo
  • 释放

如果我把它放在 dealloc 中,有时它会被调用,有时则不会(按 Command+Q 似乎绕过了我的文档的释放),但强制调用此代码而无需失败(除非程序意外终止)。

最佳答案

让每个文档将自身添加为 NSApplicationWillTerminateNotification 本地通知中心的观察者。在其通知方法中,调用其清理方法(您还应该从 deallocclose 调用该方法)。

关于cocoa - 你把 NSDocument 子类的清理代码放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/649258/

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