Inserted by the compiler when a mutation is detected during a foreach iteration.


func objc_enumerationMutation(_ obj: Any)



The object being mutated.


The compiler inserts this function when it detects that an object is mutated during a foreach iteration. The function is called when a mutation occurs, and the enumeration mutation handler is enacted if it is set up (via the objc_setEnumerationMutationHandler(_:) function). If the handler is not set up, a fatal error occurs.

See Also

Using Objective-C Language Features

func imp_implementationWithBlock(Any)

Creates a pointer to a function that calls the specified block when the method is called.

func imp_getBlock(IMP)

Returns the block associated with an IMP that was created using imp_implementationWithBlock(_:).

func imp_removeBlock(IMP)

Disassociates a block from an IMP that was created using imp_implementationWithBlock(_:), and releases the copy of the block that was created.

func objc_loadWeak(AutoreleasingUnsafeMutablePointer<AnyObject?>)

Loads the object referenced by a weak pointer and returns it.