title: Why using NSLayoutConstraint.activate is more efficient than .isActive = true?
body: <p>My question is about the creation of constraints: why creating an array of constraints to be activated later with the <code>activate</code> method is more efficient than activating each one by one with <code>.isActive = true</code>?</p>
  <p>Activating a direct constraint, we're basically changing an attribute, a variable that's already instantiated in the <code>UIView</code> we're tinkering with:</p>
  <pre class="lang-swift prettyprint-override"><code>@available(iOS 9.0, *)
  open var topAnchor: NSLayoutYAxisAnchor { get }
  </code></pre>
  <p>But the definition shows that using the Array is more efficient:</p>
  <pre class="lang-swift prettyprint-override"><code>/* Convenience method that activates each constraint in the contained array, in the same manner as setting active=YES.
  This is often more efficient than activating each constraint individually. */
  @available(iOS 8.0, *)
  open class func activate(_ constraints: [NSLayoutConstraint])
  </code></pre>
  <p>I don't see how to create an array of a variable that is already in scope and then pass it in a loop to activate it. How is this more efficient than enabling direct constraint?</p>