title: Overriding init in subclass
body: <p>In Objective-C, is it necessary to override all inherited constructors of a subclass to add custom initialization logic?</p>
  
  <p>For example, would the following be correct for a <code>UIView</code> subclass with custom initialization logic?</p>
  
  <pre><code>@implementation CustomUIView
  
  - (id)init {
      self = [super init];
      if (self) {
          [self initHelper];
      }
      return self;
  }
  
  - (id)initWithFrame:(CGRect)theFrame {
      self = [super initWithFrame:theFrame];
      if (self) {
          [self initHelper];
      }
      return self;
  }
  
  - (id)initWithCoder:(NSCoder *)decoder {
      self = [super initWithCoder:decoder];
      if (self) {
          [self initHelper];
      }
      return self;
  }
  
  - (void) initHelper {
      // Custom initialization
  }
  
  @end
  </code></pre>