我试图弄清楚如何将基于 NSDocument 的应用程序一次限制为一个打开的文档。它很快变得一团糟。
有没有人能够以简单可靠的方式做到这一点?
////EDIT//// 我希望能够提示用户保存现有的打开文档并在创建/打开新文档之前将其关闭。
////EDIT 2 如果有任何文档正在打开,我现在正试图返回一个带有适当消息的错误——但是,错误消息没有显示我的 NSLocalizedKeyDescription。这是在我的 NSDocumentController 子类中。
-(id)openUntitledDocumentAndDisplay:(BOOL)displayDocument error:(NSError **)outError{
if([self.documents count]){
NSMutableDictionary* dict = [NSMutableDictionary dictionaryWithObject:@"Only one document can be open at a time. Please close your document." forKey:NSLocalizedDescriptionKey];
*outError = [NSError errorWithDomain:@"Error" code:192 userInfo:dict];
return nil;
}
return [super openUntitledDocumentAndDisplay:displayDocument error:outError];
}