Got the first part of the challenge without too much trouble, but decided I needed to redo things to separate out the adding and removing of ovals to support the undo/redo thing along with saving and loading. That’s where I kind of got stuck. So, I peeked at the supplied solution ahead of time (for the first time in this book, dang it). When did we learn about:
- (Document *)document
return (Document *)[[[self window] windowController] document];
because that is about right where I got stuck? I had a lot of code in my equivalent of OvalView.m that you had in Document.m, so I guess I need to look at that whole situation. I’m going to start this over from scratch and see where I get this weekend. My code has diverged more from the supplied solution in this exercise than in any of the others. I guess I’m not sure what should reside in Document.m and what should reside in OvalView.m.