---
title: "countByEnumerating(with:objects:count:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nsfastenumeration/countbyenumerating(with:objects:count:)"
---

# countByEnumerating(with:objects:count:)

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 countByEnumerating(with state: UnsafeMutablePointer<NSFastEnumerationState>, objects buffer: AutoreleasingUnsafeMutablePointer<AnyObject?>, count len: Int) -> Int
```

## Parameters

- `state`: Context information that is used in the enumeration to, in addition to other possibilities, ensure that the collection has not been mutated.
- `buffer`: A C array of objects over which the sender is to iterate.
- `len`: The maximum number of objects to return in stackbuf.

## Return Value

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

## Discussion

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.
