以下代码会导致编译器错误:
找不到成员"Left"
。let indexOfConstraint = constraints.indexOfObjectPassingTest { (constraint, idx, stop) in
return constraint.firstAttribute == .Left
}
在.Left
之前添加NSLayoutAttribute
可以修复错误,但有没有一种方法将constraint
转换为NSLayoutConstraint
?
例如,在Objective-C中,我可以在指定参数时对constraint
进行转换。
NSUInteger indexOfConstraint = [constraints indexOfObjectPassingTest:^BOOL(NSLayoutConstraint *constraint, NSUInteger idx, BOOL *stop) {
return constraint.firstAttribute == NSLayoutAttributeLeft
}];
(constraint as NSLayoutConstraint).firstAttribute
吗? - Oxcug