title: Swift : import UIKit in each subclass?
body: <p>In objective-C we can do like this:</p>
  
  <p>a. Importing a file in super class</p>
  
  <pre><code>#import "MyAwesomeClass.h"
  
  @interface MySuperViewController : UIViewController
  @end
  
  @implementation MySuperViewController
  - (void)viewDidLoad {
    [super viewDidLoad];
  
    //MyAwesomeClass allocated, initialized, used
    MyAwesomeClass *awesomeClass = [MyAwesomeClass new];
  }
  @end
  </code></pre>
  
  <p>b. Using the file imported in superclass, in subclass without re-importing it</p>
  
  <pre><code>@interface MySubViewController : MySuperViewController
  @end
  
  @implementation MySubViewController
  - (void)viewDidLoad {
    [super viewDidLoad];
  
    //No compilation error, since MyAwesomeClass already imported in superclass
    MyAwesomeClass *awesomeClass = [MyAwesomeClass new];
  }
  @end
  </code></pre>
  
  <p>Trying to do the same thing in swift gives compilation error:</p>
  
  <p>a. importing UIKit in MySuperViewController</p>
  
  <pre><code>import UIKit
  class MySuperViewController : UIViewController {
     @IBOutlet weak var enterPrice: UITextField!
  }
  </code></pre>
  
  <p>b. Declaring and using an object of UITextField without importing UIKit in MySubViewController</p>
  
  <pre><code>class MySubViewController: MySuperViewController {
      // compilation error at below line
      @IBOutlet weak var myButton: UIButton!
  }
  </code></pre>
  
  <p>Is there any way we can avoid re-importing UIKit in above scenario? Please suggest.</p>