There was an error in my previous reply concerning UIWindow and UIResponder.
A UIWindow is basically the "real estate" for the various views to present themselves. You don't usually subclass a window. The customized behavior is contained in the ViewControllers. Since most programs have more than one view, and iOS typically has only one window, this makes sense. Each object, with its component parts, is self contained in its own class. There is additional functionality in a UIViewController than in a UIWindow because that is where the interface customization is supposed to be done.
I think of the UIWindow as a wall. On that wall I can place cabinets, paintings, pictures, a flat screen tv, projector screen, lights, speakers etc. and the wall is still just a wall. I can change, add and remove these objects as I wish. If I decide to make the wall a mural instead, I am stuck with that intruding on everything else. The window should be generic. If you customize the UIWindow with your interface objects directly you lose both the flexibility and the benefits of encapsulation, plus the additional functionality that is in the UIViewController.
A UIWindow is no more a crippled UIViewController, than a UIViewController is a crippled UITableViewController, or an NSObject is a crippled everything else.
Bob
|