---
title: "enumerateObjects(at:options:using:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nsarray/enumerateobjects(at:options:using:)"
---

# enumerateObjects(at:options:using:)

Executes a given block using the objects in the array at the specified indexes.

## Declaration

```swift
func enumerateObjects(at s: IndexSet, options opts: NSEnumerationOptions = [], using block: (Any, Int, UnsafeMutablePointer<ObjCBool>) -> Void)
```

## Parameters

- `s`: The indexes of the objects over which to enumerate.
- `opts`: A bit mask that specifies the options for the enumeration (whether it should be performed concurrently and whether it should be performed in reverse order).
- `block`: The block to apply to elements in the array. The block takes three arguments:

## Discussion

Discussion By default, the enumeration starts with the first object and continues serially through the array to the last element specified by indexSet. You can specify NSEnumerationConcurrent and/or NSEnumerationReverse as enumeration options to modify this behavior. This method executes synchronously. important: If the block parameter or the indexSet is nil this method will raise an exception.

## See Also

### Sending Messages to Elements

- [enumerateObjects(_:)](foundation/nsarray/enumerateobjects(_:).md)
- [enumerateObjects(options:using:)](foundation/nsarray/enumerateobjects(options:using:).md)
