項目をロードするメニュー バーがあります (以下)。クリックすると、[ファイル] メニューから開くかのように、新しいドキュメントを開きたいです。と を使用NSDocumentController
して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 で「エラーなし」と出力されます。init
ドキュメントから呼び出しているNSLog が呼び出されていますが、まだ呼び出されwindowControllerDidLoadNib
ていません。
KBDocument *d = [[KBDocument alloc] init];
if (![NSBundle loadNibNamed:@"KBDocument" owner:d]) {
NSLog(@"error");
} else {
NSLog(@"no error");
}