title: Why can't an @IBOutlet be assigned let instead of var in Swift?
body: <p>I'm following a tutorial on Swift and I noticed that the author uses <code>var</code> instead of <code>let</code> when declaring an <code>@IBOutlet</code> variable.  So I became curious as to why I can't use <code>let</code> instead since an object's properties are still mutable even if the object is constant or is this not the case?  </p>
  
  <p>The error Xcode shows when using <code>let</code> is </p>
  
  <blockquote>
    <p><code>@IBOutlet</code> attribute requires property to be mutable</p>
  </blockquote>
  
  <p>but I'm confused because <code>questionLabel</code> is a <code>UILabel</code> object and not necessarily a property of an object.  Or is the <code>questionLabel</code> object a property of the current viewController?</p>
  
  <pre><code>import UIKit
  
  class ViewController: UIViewController {
  
      @IBOutlet let questionLabel: UILabel!
  
  }
  </code></pre>
  
  <p>Thank you in advance if I'm over analyzing.</p>