Not only is this easier to read (IMO), but it is typically "more efficient than activating each constraint individually": https://developer.apple.com/documentation/uikit/nslayoutcons...
The rule that I followed was:
Use activateConstraints if you actually have a performance problem and otherwise activate constraints one by one.
However since this is a framework this rule may not apply because you don't know how it will be used.