Fix layout constraint comparison

This commit is contained in:
Robert Payne 2019-04-28 20:57:54 +12:00
parent 5b0282cf8b
commit c904582015
1 changed files with 15 additions and 3 deletions

View File

@ -44,9 +44,21 @@ public class LayoutConstraint : NSLayoutConstraint {
}
internal func ==(lhs: LayoutConstraint, rhs: LayoutConstraint) -> Bool {
guard lhs.firstItem === rhs.firstItem &&
lhs.secondItem === rhs.secondItem &&
lhs.firstAttribute == rhs.firstAttribute &&
// ensure first anchor items match
guard let item1 = lhs.firstAnchor.item,
let item2 = rhs.firstAnchor.item,
item1 === item2 else {
return false
}
// ensure second anchor items match
guard ((lhs.secondAnchor?.item == nil && rhs.secondAnchor?.item == nil) ||
(lhs.secondAnchor?.item === rhs.secondAnchor?.item)) else {
return false
}
// ensure attributes, relation, priorty and multiplier match
guard lhs.firstAttribute == rhs.firstAttribute &&
lhs.secondAttribute == rhs.secondAttribute &&
lhs.relation == rhs.relation &&
lhs.priority == rhs.priority &&