gpt4 book ai didi

objective-c - 无法从菜单栏打开新文档

转载 作者:行者123 更新时间:2023-12-03 17:34:58 26 4
gpt4 key购买 nike

我有一个加载项目的菜单栏(如下)。单击时我想打开一个新文档,就像从"file"菜单中打开它一样。我正在使用 NSDocumentControllernewDocument:,但我什么也没得到 - 没有错误。

我收到“无法创建文档”错误,但我通过添加新的文档类型解决了这个问题……如果这与此有关。知道为什么我的文档无法打开吗?

已更新通过下面的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 的 init 调用的 NSLog 已被调用,但 windowControllerDidLoadNib 仍未被调用。

KBDocument *d = [[KBDocument alloc] init];
if (![NSBundle loadNibNamed:@"KBDocument" owner:d]) {
NSLog(@"error");
} else {
NSLog(@"no error");
}

最佳答案

我终于知道问题是什么了 - 在我的 .plist 中,我最初删除了 Document types 键,因为我不需要它。当我重新创建它时,它默认为 NSDocument 类。我必须将该键值更改为我自己的子类名称。

关于objective-c - 无法从菜单栏打开新文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15347236/

26 4 0