When to Use Subclassing in iPhone App Development
Subclassing is one of the mechanisms you use to customize behaviors while you're developing your iPhone application. Subclassing involves two stages: (1) creating a new class, called a subclass, that inherits properties from another (super) class and then (2) adding properties as needed for your iPhone application. In general, you’ll want to subclass
UIView, to create your (more complex) content views, which you may fill with controls, graphics, or the like.
UIViewController, to manage the content views and connect it to the model.
NSObject, to create Model views and delegates.