Instance Method

index(_:offsetBy:)

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

Declaration

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

Parameters

i

A valid index of the collection.

distance

The distance to offset i.

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:).

Discussion

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

let numbers = [10, 20, 30, 40, 50]
let i = numbers.index(numbers.startIndex, offsetBy: 4)
print(numbers[i])
// Prints "50"

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

Complexity: O(1)

See Also

Manipulating Indexes

typealias Data.Index

A type used to indicate a position in a data's buffer.

var startIndex: Data.Index

The beginning index into the data.

var endIndex: Data.Index

The end index into the data.

func index(after: Data.Index) -> Data.Index

Returns the index that immediately follows the specified index.

func index(before: Data.Index) -> Data.Index

Returns the index that immediately precedes the specified index.