防止自动加载上次打开的文档

Posted

技术标签:

【中文标题】防止自动加载上次打开的文档【英文标题】:Prevent autoloading of last opened document 【发布时间】:2013-11-07 14:44:29 【问题描述】:

目前,基于 Cocoa NSDocument 的应用程序的默认行为是打开最后一个自动打开的文档。我怎样才能防止这种情况发生,以便我可以提供自己的行为?

【问题讨论】:

【参考方案1】:

我通过将此方法添加到我的 NSDocument 子类来做到这一点:

- (void)addWindowController:(NSWindowController *)aController 

    //
    // Overwritten to reset all window restoration, we do our own.
    // 
    NSWindow    *window=[aController window];

    if(
        [window respondsToSelector:@selector(setRestorationClass:)]
        && [window respondsToSelector:@selector(setRestorable:)]
        && [window respondsToSelector:@selector(invalidateRestorableState)]
    )
    
        [window setRestorationClass:Nil];
        [window setRestorable:NO];
        [window invalidateRestorableState];
    

    [super addWindowController:aController];

IIRC 仅此而已。

【讨论】:

这对我不起作用(我已经检查过代码是否被调用)。

以上是关于防止自动加载上次打开的文档的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 自动化:在加载解决方案时枚举打开的窗口

在应用程序启动时自动恢复上次保存的文档

防止从文件夹自动加载 index.html

防止 twitter 引导轮播在页面加载时自动滑动

如何打开 *.mdf 文档

首次加载页面时,Jquery UI 自动完成功能不起作用