Returns the index of the first object in the array that passes a test in a given block.
SDKs
- iOS 4.0+
- macOS 10.6+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
Framework
- Foundation
Declaration
func indexOfObject(passingTest predicate: (Any, Int, Unsafe Mutable Pointer<Obj CBool>) -> Bool) -> Int
Parameters
predicate
The block to apply to elements in the array.
The block takes three arguments:
- obj
The element in the array.
- idx
The index of the element in the array.
- stop
A reference to a Boolean value. The block can set the value to
true
to stop further enumeration of the array. If a block stops further enumeration, that block continues to run until it’s finished. Thestop
argument is an out-only argument. You should only ever set this Boolean totrue
within the block.
The block returns a Boolean value that indicates whether
obj
passed the test. Returningtrue
will stop further processing of the array.
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 NSNot
.
Discussion
If the block parameter is nil
this method will raise an exception.