UIView的superview
属性是可选的:UIView?
。在我的课堂上,我知道在初始化视图后,子视图将始终具有设置的超级视图。有没有比childview.superview!
更清洁的东西?
以下是一些示例上下文:
bgView.constrain_edges(to: bgView.superview!)
答案 0 :(得分:1)
确保更清洁的方法是:
if let superview = self.superview {
bgView.constrain_edges(to: superview)
}
有条件地展开选项是访问任何可选值的更简洁方法,包括视图superView
。通常在代码中使用!
bang运算符来访问选项会使您的代码感到悲伤。安全地展开选项或使用默认值(如下)使您的代码感到高兴。
bgView.constrain_edges(to: self.superView ?? self.view)