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

# indexOfObject(passingTest:)

Returns the index of the first object in the array that passes a test in a given block.

## Declaration

```swift
func indexOfObject(passingTest predicate: (Any, Int, UnsafeMutablePointer<ObjCBool>) -> Bool) -> Int
```

## Parameters

- `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. Returning doc://com.apple.documentation/documentation/Swift/true will stop further processing of the array.

## 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 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(options:passingTest:)](foundation/nsarray/indexofobject(options: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)
