Required Instance Subscriptswift 6.0.1Swift
subscript(_:)
Accesses a contiguous subrange of the collection’s elements.
subscript(bounds: Range<Self.Index>) -> Self.SubSequence { get }
Parameters
- bounds
A range of the collection’s indices. The bounds of the range must be valid indices of the collection.
For example, using a PartialRangeFrom
range expression with an array accesses the subrange from the start of the range expression until the end of the array.
let streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"]
let streetsSlice = streets[2..<5]
print(streetsSlice)
// ["Channing", "Douglas", "Evarts"]
The accessed slice uses the same indices for the same elements as the original collection. This example searches streetsSlice
for one of the strings in the slice, and then uses that index in the original array.
let index = streetsSlice.firstIndex(of: "Evarts")! // 4
print(streets[index])
// "Evarts"
Always use the slice’s startIndex
property instead of assuming that its indices start at a particular value. Attempting to access an element by using an index outside the bounds of the slice may result in a runtime error, even if that index is valid for the original collection.
print(streetsSlice.startIndex)
// 2
print(streetsSlice[2])
// "Channing"
print(streetsSlice[0])
// error: Index out of bounds
Other requirements
View members
Hide members
This section is hidden by default because it contains too many (17) members.
Type members
associatedtype Element
associatedtype Index
A type that represents a position in the collection.
associatedtype Indices
A type that represents the indices that are valid for subscripting the collection, in ascending order.
associatedtype Iterator
A type that provides the collection’s iteration interface and encapsulates its iteration state.
associatedtype SubSequence
A collection representing a contiguous subrange of this collection’s elements. The subsequence shares indices with the original collection.
Instance members
var count: Int
The number of elements in the collection.
var endIndex: Self.Index
The collection’s “past the end” position—that is, the position one greater than the last valid subscript argument.
var indices: Self.Indices
The indices that are valid for subscripting the collection, in ascending order.
var isEmpty: Bool
A Boolean value indicating whether the collection is empty.
var startIndex: Self.Index
The position of the first element in a nonempty collection.
subscript(Self.Index
) -> Self.Element Accesses the element at the specified position.
func distance(from: Self.Index, to: Self.Index
) -> Int Returns the distance between two indices.
func formIndex(after: inout Self.Index
) Replaces the given index with its successor.
func index(Self.Index, offsetBy: Int
) -> Self.Index Returns an index that is the specified distance from the given index.
func index(Self.Index, offsetBy: Int, limitedBy: Self.Index
) -> Self.Index? Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
func index(after: Self.Index
) -> Self.Index Returns the position immediately after the given index.
func makeIterator(
) -> Self.Iterator Returns an iterator over the elements of the collection.
Citizens in Swift
Restated by
subscript(Range<Self.Index>
) -> Self.SubSequence Accesses a contiguous subrange of the collection’s elements.
subscript(Range<Self.Index>
) -> Self.SubSequence Accesses a contiguous subrange of the collection’s elements.
subscript(Range<Self.Index>
) -> Self.SubSequence
Default implementations
subscript<R>(R
) -> Self.SubSequence subscript((UnboundedRange_) -> ()
) -> Self.SubSequence subscript(Range<Self.Index>
) -> Slice<Self> Accesses a contiguous subrange of the collection’s elements.
subscript<R>(R
) -> Self.SubSequence Accesses the contiguous subrange of the collection’s elements specified by a range expression.
subscript((UnboundedRange_) -> ()
) -> Self.SubSequence subscript(RangeSet<Self.Index>
) -> DiscontiguousSlice<Self> Accesses a view of this collection with the elements at the given indices.
subscript(Range<Self.Index>
) -> Slice<Self> Accesses a contiguous subrange of the collection’s elements.
Available in Cxx
Default implementations
subscript(Int
) -> Self.Element A C++ implementation of the subscript might be more performant. This overload should only be used if the C++ type does not define
operator[]
.