Instance Method


Returns an index that is the specified distance from the given index.


func index(_ i: Int, offsetBy distance: Int) -> Int



A valid index of the collection.


The distance to offset i. distance must not be negative unless the collection conforms to the BidirectionalCollection protocol.

Return Value

An index offset by distance from the index i. If distance is positive, this is the same value as the result of distance calls to index(after:). If distance is negative, this is the same value as the result of abs(distance) calls to index(before:).


The following example obtains an index advanced four positions from a string’s starting index and then prints the character at that position.

let s = "Swift"
let i = s.index(s.startIndex, offsetBy: 4)
// Prints "t"

The value passed as distance must not offset i beyond the bounds of the collection.

Complexity: O(1) if the collection conforms to RandomAccessCollection; otherwise, O(k), where k is the absolute value of distance.