Instance Method

indexOfObject:inSortedRange:options:usingComparator:

Returns the index, within a specified range, of an object compared with elements in the array using a given NSComparator block.

Declaration

- (NSUInteger)indexOfObject:(ObjectType)obj inSortedRange:(NSRange)r options:(NSBinarySearchingOptions)opts usingComparator:(NSComparator)cmp;

Parameters

obj

An object for which to search in the array.

If this value is nil, throws an NSInvalidArgumentException.

r

The range within the array to search for obj.

If r exceeds the bounds of the array (if the location plus length of the range is greater than the count of the array), throws an NSRangeException.

opts

Options for the search. For possible values, see NSBinarySearchingOptions.

If you specify both NSBinarySearchingFirstEqual and NSBinarySearchingLastEqual, throws an NSInvalidArgumentException.

cmp

A comparator block used to compare the object obj with elements in the array.

If this value is NULL, throws an NSInvalidArgumentException.

Return Value

If the NSBinarySearchingInsertionIndex option is not specified:

If the NSBinarySearchingInsertionIndex option is specified, returns the index at which you should insert obj in order to maintain a sorted array:

  • If the obj is found and neither NSBinarySearchingFirstEqual nor NSBinarySearchingLastEqual is specified, returns any equal or one larger index than any matching object’s index.

  • If the NSBinarySearchingFirstEqual option is also specified, returns the lowest index of equal objects.

  • If the NSBinarySearchingLastEqual option is also specified, returns the highest index of equal objects.

  • If the object is not found, returns the index of the least greater object, or the index at the end of the array if the object is larger than all other elements.

Discussion

The elements in the array must have already been sorted using the comparator cmp. If the array is not sorted, the result is undefined.

See Also

Finding Objects in an Array

- indexOfObject:

Returns the lowest index whose corresponding array value is equal to a given object.

- indexOfObject:inRange:

Returns the lowest index within a specified range whose corresponding array value is equal to a given object .

- indexOfObjectIdenticalTo:

Returns the lowest index whose corresponding array value is identical to a given object.

- indexOfObjectIdenticalTo:inRange:

Returns the lowest index within a specified range whose corresponding array value is equal to a given object .

- indexOfObjectPassingTest:

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

- indexOfObjectWithOptions: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.

- indexOfObjectAtIndexes: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.

- indexesOfObjectsPassingTest:

Returns the indexes of objects in the array that pass a test in a given block.

- indexesOfObjectsWithOptions:passingTest:

Returns the indexes of objects in the array that pass a test in a given block for a given set of enumeration options.

- indexesOfObjectsAtIndexes:options:passingTest:

Returns the indexes, from a given set of indexes, of objects in the array that pass a test in a given block for a given set of enumeration options.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software