What is the NSFastEnumeration protocol?
NSFastEnumeration is the protocol to which collection classes must conform in order to support the ObjC 2 for..insyntax. It declares a single instance method, –countByEnumeratingWithState:objects:count: which provides a C array of objects used by the for..in loop. More information on how NSFastEnumeration is used and how for..in works is in the Objective-C 2.0 language guide.