неожиданно обнаружил ноль при развертывании необязательного значения keyboardWillShow
У меня есть этот код ниже, который запускается, когда вызывается клавиатураWillShowNotification:
func keyboardWillShow(_ notification: Notification) {
//ERROR IN THE LINE BELOW
keyboard = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as AnyObject).cgRectValue
animaton = (notification.userInfo?[UIKeyboardAnimationDurationUserInfoKey] as AnyObject).doubleValue
UIView.animate(withDuration: 0.4, animations: { () -> Void in
self.scrollView.frame.size.height = self.scrollViewHeight - self.keyboard.height
})
}
Я получаю сообщение об ошибке во второй строке:unexpectedly found nil while unwrapping an Optional value
, Как правило, всякий раз, когда я нажимаю на одно из текстовых полей, будет вызываться это уведомление для клавиатуры и код вkeyboardWillShow
побежит. Я знаю, я положилif...let
заявления, но я хочу знать, почему я получаю ноль за это.
Я не уверен, как я получаю эту ошибку или как ее отладить. Это потому, что я запускаю его с симулятора?
Вот что дает распечатка Notification.userInfo:
Необязательный ([AnyHashable ("UIKeyboardFrameEndUserInfoKey"): NSRect: {{0, 315}, {320, 253}}, AnyHashable ("UIKeyboardIsLocalUserInfoKey"): 1, AnyHashable ("UIKeyboardBoundsUserInfoKey {0, 0,}: 0SR) , {320, 253}}, AnyHashable ("UIKeyboardAnimationCurveUserInfoKey"): 7, AnyHashable ("UIKeyboardCenterBeginUserInfoKey"): NSPoint: {160, 694.5}, AnyHashable ("UIKeyboardCenterEndUserInfoKey: 160, AnyHfoBey} 160NSashibey"): NH UIKeyboardFrameBeginUserInfoKey "): NSRect: {{0, 568}, {320, 253}}, AnyHashable (" UIKeyboardAnimationDurationUserInfoKey "): 0,25])