title: Why is my label nil after starting my app?
body: <p>I've created a simple app just for training purposes. The &quot;Tap me&quot; button causes a segue to the <code>ChildViewController</code> and set the <code>testLabel</code> value to <code>&quot;Checking label...&quot;</code>.</p>
  <p>My code of &quot;Tap me&quot; button looks like this</p>
  <pre><code>@IBAction func tapMeButtonPressed(_ sender: UIButton) {
      animateButton()
      daysLabel.text = array[counter]
      counter += 1
      if counter == array.count {
          counter = 0
      }
      
      self.performSegue(withIdentifier: &quot;segueTest&quot;, sender: self)
        
  }
  
  override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  if segue.identifier == &quot;segueTest&quot; {
      let destinationVC = segue.destination as! ChildViewController
      if let label = destinationVC.testLabel {
          label.text = &quot;Checking label...&quot;
      }
  </code></pre>
  <p>My ChildViewController is just an Outlet of my label:</p>
  <pre><code>class ChildViewController: UIViewController {
  
  @IBOutlet weak var testLabel: UILabel!
  
  
  override func viewDidLoad() {
      super.viewDidLoad()
  }
  </code></pre>
  <p>I am aware that I have to check if my <code>testlabel</code> is/isn't <code>nil</code>, but why is that? Why can't I assign a value to my <code>testLabel</code>?</p>