Interface Builder makes it easy to create application interfaces. You just drag an object from a palette and drop it on the graphical user interface you’re creating (Figure 4.2). You can then set attributes of these objects through an Info window and connect them to other objects in your application so they can send messages to one another. Interface Builder also assists in the definition of custom classes and allows you to test an interface without having to compile a line of code.
Interface Builder’s standard palettes hold an assortment of Application Kit objects. Other palettes can include Cocoa objects from other frameworks, third-party objects, and custom-compiled objects. You can also store noncompiled configurations of objects on dynamic palettes. Interface Builder archives and restores elements of a user interface (including connections) as objects—it doesn’t “hardwire” them into the interface.