title: Swift 2 internal vs private
body: <p>I'm confused about the internal and private access modifier. </p>
  
  <p>The docs says:</p>
  
  <blockquote>
    <p>“Internal access enables entities to be used within any source file
    from their defining module, but not in any source file outside of that
    module. You typically use internal access when defining an app’s or a
    framework’s internal structure.”</p>
  </blockquote>
  
  <p>How I thought it was, was that with internal you can access everything if you are in your own app. But this is not true, because when I have a viewcontroller what is default internal and I'm having a internal function on that viewcontroller I can't access this from another file in another group (You create these in xCode). </p>
  
  <p>What I tried was having a ViewController that has a method foo in group A then in group B I created a ViewController like this:</p>
  
  <pre><code>let vc: FakeViewController = FakeViewController()
  vc.foo()
  </code></pre>
  
  <p>So is internal restricted to the same group? Or I'm I interpreting it wrong?</p>
  
  <p>Is it useful that in a viewcontroller you create private methods and vars/lets?</p>