Contents

transform(updating:body:)

Tracks the location of the provided range throughout the mutation closure, returning a new, updated range that represents the same effective locations after the mutation.

Declaration

mutating func transform<E>(updating range: Range<AttributedString.Index>, body: (inout AttributedString) throws(E) -> Void) throws(E) -> Range<AttributedString.Index>? where E : Error

Parameters

  • range:

    A range to track throughout the body block.

  • body:

    A mutating operation, or set of operations, to perform on this AttributedString.

Return Value

The updated Range that is valid after the mutation has been performed, or nil if the mutation performed does not allow for tracking to succeed (such as replacing the provided inout variable with an entirely different AttributedString).