0

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

4

1 回答 1

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就是这样。

于 2013-11-07T15:53:01.450 回答