Justin
Justin

Reputation: 2142

Passing data to a specific open NSDocument?

I have been having lots of trouble with this one. I need to have an NSViewController and an NSView pass integer's to a specific document. I really want it to pass the data to the document represented by the key window (I hope that makes sense), but the way I am doing passes the data to all of the open documents.

I am using a document based application, from the Xcode template (Cocoa application with the "Document based application" box checked. Is there any way to do this?

I did not post my code because it really is too embarrassing. Basically, I have a "getter" method in the NSViewController, but I still have not thought of a good way to pass the data back. I ended up with hundreds of lines of code that are supposed to make the document pull the data back with another "getter" method, but they don't do anything.

Is there any documentation on this?

Upvotes: 1

Views: 328

Answers (1)

Nathan Day
Nathan Day

Reputation: 6037

The key window may not have a document behind it, it is just the window that will receive events first, I think what you may be after is -[NSApplication mainWindow] which you can get the window controller for and from that the document, alternatively you could observer the NSWindowDidBecomeMainNotification to keep track of which window is now main or you could use the method -[NSAppliation orderedDocuments] to get the front document. Personnaly I like the NSNotification but there may be resins you prefer one of the other methods.

Upvotes: 1

Related Questions