С swift5 я получаю предупреждение, которое меня очень смущает ...
Когда в моих представлениях есть ограничения, которые должны быть модифицируемыми, обычно это выглядит так:
class myView: UIView {
let titleLabel = UILabel()
let descriptionLabel = UILabel()
var titlePaddingConstraint: NSLayoutConstraint!
func setupConstraints() {
self.titlePaddingConstraint = self.titleLabel.bottomAnchor.constraint(equalTo: self.descriptionLabel.topAnchor, constant: -20)
NSLayoutConstraint.activate([
self.titlePaddingConstraint //warning here
])
}
}
На 4-й последней строке XCode жалуется:
Выражение неявно приведено из «NSLayoutConstraint?» на «Любой»
Чтобы заткнуться, мне нужно добавить «оператор взрыва (!)», Чтобы развернуть его. Зачем это нужно сейчас? titlePaddingConstraint
принудительно разворачивается при объявлении. Разве это не должно полностью предотвратить развертывание этого объекта?