我有一个加载项目的菜单栏(如下)。单击时,我想打开一个新文档,就像从“文件”菜单中打开它一样。我正在使用NSDocumentController
and newDocument:
,但我什么也没得到 - 没有错误。
我收到“无法创建文档”错误,但我通过添加新的文档类型解决了这个问题……如果这与它有关的话。知道为什么我的文档没有打开吗?
更新如下,NSLog
我可以看到文档已创建,但我看不到它!
+ (void)buildMenuWithNotifs {
NSMenuItem* newNoteItem;
newNoteItem = [[NSMenuItem alloc] initWithTitle:@"New Note" action:@selector(newNote) keyEquivalent:@""];
[newNoteItem setTarget:[self class]];
[sm addItem:newNoteItem];
}
+(void)newNote {
[NSApp activateIgnoringOtherApps:YES]; //app is running as agent
NSDocumentController *dc = [NSDocumentController sharedDocumentController];
[dc newDocument:nil];
NSLog(@"dc: %@", dc);
}
更新 3:
使用此代码,我得到用 NSLog 打印的“无错误”。我从 Document 调用的 NSLoginit
被调用,但windowControllerDidLoadNib
仍然没有。
KBDocument *d = [[KBDocument alloc] init];
if (![NSBundle loadNibNamed:@"KBDocument" owner:d]) {
NSLog(@"error");
} else {
NSLog(@"no error");
}