在swift 中,如果遍历一个集合,可能就需要用到类型推断
方式一:先把一个确定的集合进行推断,之后在遍历,适合单一的元素类型。
let constraints = self.constraints() as! [NSLayoutConstraint];
var item : NSLayoutConstraint? = nil;
for constraint in constraints {
if constraint.firstAttribute == attribute &&
constraint.constant == constant{
item = constraint;
break;
}
}
return item;
方式二:适合多种类型的混合,在for 循环里,如果是多种类型,就进行多种类型的判断添加 if-else
var item : NSLayoutConstraint? = nil;
for constraint in self.constraints() {
if constraint is NSLayoutConstraint {
if constraint.firstAttribute == attribute &&
constraint.constant == constant{
item = constraint;
break;
}
}
}