title: What does the assignment of super init to self do?
body: <p>Given this piece of code:</p>
  
  <pre><code>-(id) init
  {
      self = [super init];
      if (self != nil)
      {
         ...
      }
      return self;
  }
  </code></pre>
  
  <p>I understand that we are checking that the super init did not fail but otherwise it makes no sense to me and I would appreciate an explanation for a noob.</p>
  
  <p>Why would I want to assign the result of super init to self.  If I delete this method from my class, the super init method is going to be called anyway and there is going to be no assignment.</p>