UIView的superview
屬性是可選的:UIView?
。在我的課堂上,我知道在初始化我的視圖後,子視圖將始終具有一組超視圖。有沒有比childview.superview!
更乾淨的東西?清潔的方式訪問Swift中的超級景觀?
下面是一些例子背景:
bgView.constrain_edges(to: bgView.superview!)
UIView的superview
屬性是可選的:UIView?
。在我的課堂上,我知道在初始化我的視圖後,子視圖將始終具有一組超視圖。有沒有比childview.superview!
更乾淨的東西?清潔的方式訪問Swift中的超級景觀?
下面是一些例子背景:
bgView.constrain_edges(to: bgView.superview!)
確保更清潔的方式來做到這一點是:
if let superview = self.superView {
bgView.constrain_edges(to: superview)
}
有條件展開自選是訪問任何可選值包括視圖的superView
清潔方式。通常在你的代碼中使用!
bang運算符來訪問選項會讓你的代碼感到悲傷。安全地打開選項或使用默認選項(以下)使您的代碼快樂。
bgView.constrain_edges(to: self.superView ?? self.view)
我不知道'clean'是什麼意思。 'bgView.superview!'對我來說已經很乾淨了。你想要什麼? – Sweeper