Instance Method

prefix(through:)

Returns a subsequence from the start of the collection through the specified position.

Declaration

func prefix(through position: Int) -> Data

Parameters

end

The index of the last element to include in the resulting subsequence. end must be a valid index of the collection that is not equal to the endIndex property.

Return Value

A subsequence up to, and including, the end position.

Discussion

The resulting subsequence includes the element at the position end. The following example searches for the index of the number 40 in an array of integers, and then prints the prefix of the array up to, and including, that index:

let numbers = [10, 20, 30, 40, 50, 60]
if let i = numbers.firstIndex(of: 40) {
    print(numbers.prefix(through: i))
}
// Prints "[10, 20, 30, 40]"

Using the prefix(through:) method is equivalent to using a partial closed range as the collection’s subscript. The subscript notation is preferred over prefix(through:).

if let i = numbers.firstIndex(of: 40) {
    print(numbers[...i])
}
// Prints "[10, 20, 30, 40]"

Complexity: O(1)

See Also

Selecting Bytes

func filter((UInt8) -> Bool) -> Data

Returns a new collection of the same type containing, in order, the elements of the original collection that satisfy the given predicate.

func prefix(Int) -> Data

Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.

func prefix(upTo: Int) -> Data

Returns a subsequence from the start of the collection up to, but not including, the specified position.

func prefix(while: (UInt8) -> Bool) -> Data

Returns a subsequence containing the initial elements until predicate returns false and skipping the remaining elements.

func suffix(Int) -> Data

Returns a subsequence, up to the given maximum length, containing the final elements of the collection.

func suffix(from: Int) -> Data

Returns a subsequence from the specified position to the end of the collection.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software