NSMutableIndexSet Class Reference

Inherits from
Conforms to
Framework
/System/Library/Frameworks/Foundation.framework
Availability
Available in OS X v10.3 and later.
Companion guide
Declared in
NSIndexSet.h
Related sample code

Overview

The NSMutableIndexSet class represents a mutable collection of unique unsigned integers, known as indexes because of the way they are used. This collection is referred to as a mutable index set. The set of valid indexes are 0 .. NSNotFound - 1; trying to use indexes outside this range is an error.

The values in a mutable index set are always sorted, so the order in which values are added is irrelevant.

You must not subclass the NSMutableIndexSet class.

Tasks

Adding Indexes

Removing Indexes

Shifting Index Groups

Instance Methods

addIndex:

Adds an index to the receiver.

- (void)addIndex:(NSUInteger)index
Parameters
index

Index to add. Must be in the range 0 .. NSNotFound - 1.

Availability
  • Available in OS X v10.3 and later.
Declared In
NSIndexSet.h

addIndexes:

Adds the indexes in an index set to the receiver.

- (void)addIndexes:(NSIndexSet *)indexSet
Parameters
indexSet

Index set to add.

Availability
  • Available in OS X v10.3 and later.
Declared In
NSIndexSet.h

addIndexesInRange:

Adds the indexes in an index range to the receiver.

- (void)addIndexesInRange:(NSRange)indexRange
Parameters
indexRange

Index range to add. Must be in the range 0 .. NSNotFound - 1.

Discussion

This method raises an NSRangeException when indexRange would add an index that exceeds the maximum allowed value for unsigned integers.

Availability
  • Available in OS X v10.3 and later.
Declared In
NSIndexSet.h

removeAllIndexes

Removes the receiver’s indexes.

- (void)removeAllIndexes
Availability
  • Available in OS X v10.3 and later.
Declared In
NSIndexSet.h

removeIndex:

Removes an index from the receiver.

- (void)removeIndex:(NSUInteger)index
Parameters
index

Index to remove.

Availability
  • Available in OS X v10.3 and later.
Declared In
NSIndexSet.h

removeIndexes:

Removes the indexes in an index set from the receiver.

- (void)removeIndexes:(NSIndexSet *)indexSet
Parameters
indexSet

Index set to remove.

Availability
  • Available in OS X v10.3 and later.
Declared In
NSIndexSet.h

removeIndexesInRange:

Removes the indexes in an index range from the receiver.

- (void)removeIndexesInRange:(NSRange)indexRange
Parameters
indexRange

Index range to remove.

Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
NSIndexSet.h

shiftIndexesStartingAtIndex:by:

Shifts a group of indexes to the left or the right within the receiver.

- (void)shiftIndexesStartingAtIndex:(NSUInteger)startIndex by:(NSInteger)delta
Parameters
startIndex

Head of the group of indexes to shift.

delta

Amount and direction of the shift. Positive integers shift the indexes to the right. Negative integers shift the indexes to the left.

Discussion

The group of indexes shifted is made up by startIndex and the indexes that follow it in the set.

A left shift deletes the indexes in a range the length of delta preceding startIndex from the set.

A right shift inserts empty space in the range (startIndex,delta) in the receiver.

The resulting indexes must all be in the range 0 .. NSNotFound - 1.

Availability
  • Available in OS X v10.3 and later.
Declared In
NSIndexSet.h