---
title: "indexOfObject(at:options:passingTest:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nsarray/indexofobject(at:options:passingtest:)"
---

# indexOfObject(at:options:passingTest:)

Returns the index, from a given set of indexes, of the first object in the array that passes a test in a given block for a given set of enumeration options.

## Declaration

```swift
func indexOfObject(at s: IndexSet, options opts: NSEnumerationOptions = [], passingTest predicate: (Any, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> Int
```

## 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).
- `predicate`: The block to apply to elements in the array. The block takes three arguments: The block returns a Boolean value that indicates whether obj passed the test.

## Return Value

Return Value The lowest index whose corresponding value in the array passes the test specified by predicate. If no objects in the array pass the test, returns NSNotFound.

## 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 concurrent and/or reverse as enumeration options to modify this behavior. important: If the block parameter or indexSet is nil this method will raise an exception.

## See Also

### Finding Objects in an Array

- [index(of:)](foundation/nsarray/index(of:).md)
- [index(of:in:)](foundation/nsarray/index(of:in:).md)
- [indexOfObjectIdentical(to:)](foundation/nsarray/indexofobjectidentical(to:).md)
- [indexOfObjectIdentical(to:in:)](foundation/nsarray/indexofobjectidentical(to:in:).md)
- [indexOfObject(passingTest:)](foundation/nsarray/indexofobject(passingtest:).md)
- [indexOfObject(options:passingTest:)](foundation/nsarray/indexofobject(options:passingtest:).md)
- [indexesOfObjects(passingTest:)](foundation/nsarray/indexesofobjects(passingtest:).md)
- [indexesOfObjects(options:passingTest:)](foundation/nsarray/indexesofobjects(options:passingtest:).md)
- [indexesOfObjects(at:options:passingTest:)](foundation/nsarray/indexesofobjects(at:options:passingtest:).md)
- [index(of:inSortedRange:options:usingComparator:)](foundation/nsarray/index(of:insortedrange:options:usingcomparator:).md)
