在标记为重复之前:我已经研究过并发现了很多关于这个主题的主题,但是所有主题都通过使用_ =
来消除警告来解决它。我不想让警告沉默。我想使用结果!
我正在尝试将分叉框架转换为Swift 3并且遇到警告:
通话结果未使用
以下代码:
func setupViews() {
contentView.addSubview(imageView)
imageView.autoLayoutToSuperview() // here, result of autoLayoutToSuperview() is unused
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
imageView.backgroundColor = UIColor.white
}
autoLayouttoSuperview
是该Framework的一个函数,它返回一个NSLayoutConstraint
的数组。
func autoLayoutToSuperview(_ attributes: [NSLayoutAttribute] = [.left, .right, .top, .bottom], inset: CGFloat = 0) -> [NSLayoutConstraint] {
var constraints: [NSLayoutConstraint] = []
translatesAutoresizingMaskIntoConstraints = false
for attribute in attributes {
var constant = inset
switch attribute {
case .right:
constant = -inset
case .bottom:
constant = -inset
default:
break
}
let constraint = NSLayoutConstraint(
item: self,
attribute: attribute,
relatedBy: .equal,
toItem: self.superview,
attribute: attribute,
multiplier: 1,
constant: constant
)
self.superview?.addConstraint(constraint)
constraints.append(constraint)
}
return constraints
}
我能够使警告静音,但由于结果不会被使用,imageView
不会出现在想要的外观中。
图片图片:
使用它:
imageView
外观不正确。
如何使用结果?非常感谢帮助。
答案 0 :(得分:0)
你可能会说:
let constraints = imageView.autoLayoutToSuperview()
NSLayoutConstraint.activate(constraints)