iOS Developer Library — Prerelease

Developer

Foundation Framework Reference NSFastEnumeration Protocol Reference

Options
Deployment Target:

On This Page
Language:

NSFastEnumeration

The fast enumeration protocol NSFastEnumeration must be adopted and implemented by objects used in conjunction with the for language construct used in conjunction with Cocoa objects.

The abstract class NSEnumerator provides a convenience implementation that uses nextObject to return items one at a time. For more details, see Fast Enumeration.

  • Returns by reference a C array of objects over which the sender should iterate, and as the return value the number of objects in the array.

    Declaration

    Swift

    func countByEnumeratingWithState(_ state: UnsafeMutablePointer<NSFastEnumerationState>, objects buffer: AutoreleasingUnsafeMutablePointer<AnyObject?>, count len: Int) -> Int

    Objective-C

    - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState * nonnull)state objects:(id nonnull [])stackbuf count:(NSUInteger)len

    Parameters

    state

    Context information that is used in the enumeration to, in addition to other possibilities, ensure that the collection has not been mutated.

    stackbuf

    A C array of objects over which the sender is to iterate.

    len

    The maximum number of objects to return in stackbuf.

    Return Value

    The number of objects returned in stackbuf. Returns 0 when the iteration is finished.

    Discussion

    The state structure is assumed to be of stack local memory, so you can recast the passed in state structure to one more suitable for your iteration.

    Availability

    Available in iOS 2.0 and later.

Data Types