---
title: indices
framework: swift
role: symbol
role_heading: Instance Property
path: swift/collection/indices-9kkbf
---

# indices

The indices that are valid for subscripting the collection, in ascending order.

## Declaration

```swift
var indices: Self.Indices { get }
```

## Discussion

Discussion A collection’s indices property can hold a strong reference to the collection itself, causing the collection to be nonuniquely referenced. If you mutate the collection while iterating over its indices, a strong reference can result in an unexpected copy of the collection. To avoid the unexpected copy, use the index(after:) method starting with startIndex to produce indices instead. var c = MyFancyCollection([10, 20, 30, 40, 50]) var i = c.startIndex while i != c.endIndex {     c[i] /= 5     i = c.index(after: i) } // c == MyFancyCollection([2, 4, 6, 8, 10])

## See Also

### Manipulating Indices

- [startIndex](swift/collection/startindex.md)
- [endIndex](swift/collection/endindex.md)
- [index(after:)](swift/collection/index(after:).md)
- [formIndex(_:offsetBy:)](swift/collection/formindex(_:offsetby:)-393pr.md)
- [formIndex(_:offsetBy:limitedBy:)](swift/collection/formindex(_:offsetby:limitedby:)-6jwra.md)
