【问题标题】:Cleaning up NSDocument subclasses [duplicate]清理 NSDocument 子类 [重复]
【发布时间】:2014-01-21 21:24:04
【问题描述】:

当文档关闭时,我需要在我的NSDocument 子类中执行一些清理操作。

当前的实现在canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo: 中有清理代码,只有在文档有任何未保存的更改时才会调用它。

即使close 方法看起来也不是一个好地方 - 根据the docs 这个方法可能并不总是被调用。

有没有一个地方可以放置在NSDocument 实例被破坏之前总是调用的那种代码......?

the docs 中有一些 really neat message flow diagrams 用于初始化、打开和保存 NSDocuments - 可惜没有用于关闭文档或退出应用程序?!

【问题讨论】:

    标签: cocoa appkit nsdocument


    【解决方案1】:

    您的 NSDocument 位于窗口中。

    为什么不将一些对象(例如,您的子类 NSDocument 对象)设置为托管文档的 NSWindow 的委托,然后捕获 "windowWillClose:" notification

    【讨论】:

    • 我可以想到十几种解决方法 - 但是我想知道 NSDocument 类中的官方支持方式是什么......在一个已经存在数十年的应用程序框架中,它肯定已经内置支持这样一个基本用例:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 2022-01-08
    • 2015-02-05
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    相关资源
    最近更新 更多