Contents

reset(roundingBackwardsFrom:)

Reset to the nearest scalar-aligned code unit offset <= i.

Declaration

mutating func reset(roundingBackwardsFrom i: Int)

Discussion

func printScalarAfterReset(_ string: borrowing String) {
    var iterator = string.utf8Span.makeUnicodeScalarIterator()
    iterator.reset(roundingBackwardsFrom: 8)  // Position 8 is mid-emoji, rounds back to 6
    if let scalar = iterator.next() {
        print(scalar)  // Prints "🌍" (emoji starts at byte 6)
    }
}
let string = "Hello 🌍"
printScalarAfterReset(string)