我已经创建了一个高度限制,并根据屏幕大小为其分配了一个值。但在赋值时,我得到了行上的错误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 letguard安全地展开可选绑定。

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/

10-13 05:26