title: Custom designated initializer with BOOL parameter and exception?
body: <p>My question is probably very simple to answer. 
  I have a custom written designated initializer that gets in a BOOL parameter.</p>
  
  <p>In it, I want to check whether there was a BOOL passed or something else.
  If something else, I want to raise an exception. </p>
  
  <p>I also want to override the default init and point it to my designated intializer instead of calling super, and pass a nil in there so that the user gets the proper exception when he is not using the designated initializer.</p>
  
  <pre><code>-(id)init
  {
    return [self initWithFlag:nil];
  } 
  
  
  -(id)initWithFlag:(BOOL)flag
  {
      //get the super self bla bla
  
      if (flag IS-NOT-A-BOOL)
      {
          //raising exception here
      }
      //store the flag
  
      return self;
  }
  </code></pre>
  
  <p>What should be in place of IS-NOT-A-BOOL?</p>