我已经创建了一个高度限制,并根据屏幕大小为其分配了一个值。但在赋值时,我得到了行上的错误Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
var heightConstraint: NSLayoutConstraint!
let Height =((intra_acc_send_b.frame.origin.y+intra_acc_send_b.frame.size.height)+20)
print ("\nheight%%%%%%%%%%%%%%%% ") ; print(Height); print(" %%%%%%%%%%%%%%%%%\n");
heightConstraint.constant = Height
self.scrollView.contentSize = CGSize(width: Width, height: heightConstraint.constant )
请帮我找出解决办法。
最佳答案
heightConstraint为零,您正在访问它,这就是错误的原因。在swift 4.2中,隐式强制拆封已被废除。因此,如果选中heightConstraint,它将给出可选值,即使它的隐式forcewapped(如果它有值)。
在分配新值之前,您需要使用if let
或guard
安全地展开可选绑定。
if let constraints = heightConstraint {
heightConstraint.constant = Height
}
或
guard let constraints = heightConstraint else { return }
heightConstraint.constant = Height
你的视图还没有创建,这就是为什么还没有高度。
关于swift - 为heightconstraint.constant分配值时出现lldb错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52834754/