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

时间:2013-11-07 14:44:29

标签: cocoa nsdocument

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

1 个答案:

答案 0 :(得分:0)

我是通过将此方法添加到我的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就是这样。