title: Could not find an overload for 'subscript' that accepts the supplied arguments
body: <pre><code>func keyboardDidShow(notification:NSNotification) {
  
      var info = notification.userInfo
      var keyboardHeight: CGFloat = (info[UIKeyboardFrameBeginUserInfoKey] as! NSValue).CGRectValue().size.height
      constraintScrollViewBottomSpace.constant = keyboardHeight
  }
  </code></pre>
  
  <p>The above code is giving me the error </p>
  
  <blockquote>
    <p>Could not find an overload for 'subscript' that accepts the supplied arguments</p>
  </blockquote>
  
  <p>What should I do to make it work?</p>
  
  <pre><code>var info = notification.userInfo!
  </code></pre>
  
  <p>Adding <code>!</code> resolved the error. But what is reason for it. Explain.</p>