"But it makes sense that if Apple believes that (a) iOS and MacOS should have declarative control APIs, and (b) they should address the problem of abstracting the API differences between UIKit (iOS) and AppKit
(MacOS), they would tackle them at the same time.
Topics include using Objective-C by to create objects and learn memory management; the Model-View-Controller (MVC) method of sharing data between objects; and understanding foundation value classes; and making custom views with AppKit
The class hierarchy of the ATM simulator is shown in Figure 2, which shows only the classes for the problem domain; we used the standard NeXT AppKit
classes for the graphical interface objects.