Instead of creating NSLayoutConstraint objects directly, start with a UIView, NSView, or UILayoutGuide object you wish to constrain, and select one of that object’s anchor properties. These properties correspond to the main NSLayoutAttribute values used in Auto Layout, and provide an appropriate NSLayoutAnchor subclass for creating constraints to that attribute. Use the anchor’s methods to construct your constraint.
As you can see from these examples, the NSLayoutAnchor class provides several advantages over using the NSLayoutConstraint API directly.
The code is cleaner, more concise, and easier to read.
The NSLayoutAttribute subclasses provide additional type checking, preventing you from creating invalid constraints.