title: IBOutlet declaration place
body: <p>After searching on Google about this confusion, I <a href="http://nshipster.com/ibaction-iboutlet-iboutletcollection/#iboutlet" rel="nofollow">found out</a> that the best place to put an <code>IBOutlet</code> is:</p>
  
  <pre><code>@interface GallantViewController : UIViewController
  
  @property (nonatomic, weak) IBOutlet UISwitch *switch;
  
  @end
  </code></pre>
  
  <p>but from what I say, now the <code>switch</code> variable is visible outside of the <code>GallantViewController</code>. Isn't that odd? I thought that this wrong method:</p>
  
  <pre><code>@interface GoofusViewController : UIViewController {
      IBOutlet UISwitch *_switch
  }
  
  @end
  </code></pre>
  
  <p>was behaving like this, and moving it would fix it. Why would you want to manipulate a button for example from another class instead of implementing it's logic just in the <code>GallantViewController</code>?</p>