MathDocument Class Modifications
Recall from the last chapter that Cocoa’s multiple-document architecture uses a subclass of the NSDocument class for loading and saving documents, and a subclass of the NSWindowController class for actually managing the document window itself. For simple applications, it may not be necessary to subclass both NSDocument and NSWindowController — you can put all of the necessary code in your subclass of the NSDocument class. However, if you plan to create several different windows for a single document, or if you want to have complex functionality embodied within your document windows, Apple recommends that you subclass NSWindowController. (For a more detailed discussion, we recommend that you read the Cocoa documentation pages for the NSDocument, NSWindowController, and NSDocumentController classes.)
In the next section, we will create a class called PaperController as
our subclass of the NSWindowController class. To teach MathDocument
about PaperController, we need to make two modifications to the
MathDocument.m
class file:
Back in PB, open the
MathDocument.m
class file (this is the file that was originally calledMyDocument.m
).Add the line shown here in bold near the beginning of the
MathDocument.m
file:// MathDocument.m #import "MathDocument.h"#import "PaperController.h"
Recall that the MathDocument class is a subclass of NSDocument. If we
look at the code for MathDocument.m
that we listed in the last chapter (or view it in PB), there is a comment ...
Get Building Cocoa Applications: A Step by Step Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.