// *** before: ***
// a framework was taken whole through its umbrella header, and there was no
// way to say that only one class was needed
#import <UIKit/UIKit.h>
// importing a single header of a framework was often forbidden outright:
#import <UIKit/UIView.h>
// error: UIView.h must not be included directly, use <UIKit/UIKit.h>
// *** in version 2013: ***
// every header of a framework is a submodule and may be imported by itself
@import UIKit; // the whole framework
@import UIKit.UIView; // one part of it
@import Foundation.NSString;
@interface Badge : UIView
@end
// the dotted name is the module and the header inside it. Importing a
// submodule does not make the build slower than importing the whole
// framework, because both are read from the same compiled description -
// it is a matter of saying precisely what the file depends on