I've scanned the documentation and googled fairly extensively and found nothing on this subject.
What I'm needing to do is interact with a specific instance of one of my NSWindows - that is, one created through the开发者_Go百科 NSDocument system put in place by creating a document-based application in Xcode.
So is there a way to do this? Something like [[NSSharedDocumentController frontmostWindow] subView: doAction], perhaps?
To obtain the frontmost window (aka the main window), use -[NSApplication mainWindow]
:
NSWindow *mainWindow = [NSApp mainWindow];
To obtain the window corresponding to a given document:
NSDocument *someDocument; // reference to the document you’re interested in
NSWindow *window = [[[someDocument windowControllers] objectAtIndex:0] window];
NSDocument
creates a single window controller to manage the corresponding document window, so -[NSDocument windowControllers]
returns an array with a single element corresponding to the window controller. -[NSWindowController window]
returns the window managed by that window controller.
精彩评论