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

# indexOfObject(options:passingTest:)

Returns the index of an object in the array that passes a test in a given block for a given set of enumeration options.

## Declaration

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

## Parameters

- `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 index whose corresponding value in the array passes the test specified by predicate and opts. If the opts bit mask specifies reverse order, then the last item that matches is returned. Otherwise, the index of the first matching object is returned. 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 object. You can specify NSEnumerationConcurrent and/or NSEnumerationReverse as enumeration options to modify this behavior. important: If the block parameter 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(at:options:passingTest:)](foundation/nsarray/indexofobject(at: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)
