【发布时间】:2013-11-07 14:44:29
【问题描述】:
目前,基于 Cocoa NSDocument 的应用程序的默认行为是打开最后一个自动打开的文档。我怎样才能防止这种情况发生,以便我可以提供自己的行为?
【问题讨论】:
标签: cocoa nsdocument
目前,基于 Cocoa NSDocument 的应用程序的默认行为是打开最后一个自动打开的文档。我怎样才能防止这种情况发生,以便我可以提供自己的行为?
【问题讨论】:
标签: cocoa nsdocument
我通过将此方法添加到我的 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 仅此而已。
【讨论】: