<!--
{
  "documentType" : "article",
  "framework" : "ObjectiveC",
  "identifier" : "/documentation/ObjectiveC/objective-c-functions",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Objective-C Functions"
}
-->

# Objective-C Functions

## Topics

### Functions

[`autoreleasepool(invoking:)`](/documentation/ObjectiveC/autoreleasepool(invoking:))

[`class_createInstanceFromZone`](/documentation/ObjectiveC/class_createInstanceFromZone)

[`class_lookupMethod`](/documentation/ObjectiveC/class_lookupMethod(_:_:))

[`class_respondsToMethod`](/documentation/ObjectiveC/class_respondsToMethod(_:_:))

[`NXCompareHashTables`](/documentation/ObjectiveC/NXCompareHashTables)

[`NXCopyHashTable`](/documentation/ObjectiveC/NXCopyHashTable)

[`NXCountHashTable`](/documentation/ObjectiveC/NXCountHashTable)

[`NXCreateHashTable`](/documentation/ObjectiveC/NXCreateHashTable)

[`NXCreateHashTableFromZone`](/documentation/ObjectiveC/NXCreateHashTableFromZone)

[`NXEmptyHashTable`](/documentation/ObjectiveC/NXEmptyHashTable)

[`NXFreeHashTable`](/documentation/ObjectiveC/NXFreeHashTable)

[`NXHashGet`](/documentation/ObjectiveC/NXHashGet)

[`NXHashInsert`](/documentation/ObjectiveC/NXHashInsert)

[`NXHashInsertIfAbsent`](/documentation/ObjectiveC/NXHashInsertIfAbsent)

[`NXHashMember`](/documentation/ObjectiveC/NXHashMember)

[`NXHashRemove`](/documentation/ObjectiveC/NXHashRemove)

[`NXInitHashState`](/documentation/ObjectiveC/NXInitHashState)

[`NXNextHashState`](/documentation/ObjectiveC/NXNextHashState)

[`NXNoEffectFree`](/documentation/ObjectiveC/NXNoEffectFree)

[`NXPtrHash`](/documentation/ObjectiveC/NXPtrHash)

[`NXPtrIsEqual`](/documentation/ObjectiveC/NXPtrIsEqual)

[`NXReallyFree`](/documentation/ObjectiveC/NXReallyFree)

[`NXResetHashTable`](/documentation/ObjectiveC/NXResetHashTable)

[`NXStrHash`](/documentation/ObjectiveC/NXStrHash)

[`NXStrIsEqual`](/documentation/ObjectiveC/NXStrIsEqual)

[`objc_addExceptionHandler`](/documentation/ObjectiveC/objc_addExceptionHandler(_:_:))

[`objc_addLoadImageFunc`](/documentation/ObjectiveC/objc_addLoadImageFunc(_:))

[`objc_allocate_object`](/documentation/ObjectiveC/objc_allocate_object)

[`objc_assertRegisteredThreadWithCollector`](/documentation/ObjectiveC/objc_assertRegisteredThreadWithCollector())

[`objc_assign_global`](/documentation/ObjectiveC/objc_assign_global)

[`objc_assign_ivar`](/documentation/ObjectiveC/objc_assign_ivar)

[`objc_assign_strongCast`](/documentation/ObjectiveC/objc_assign_strongCast)

[`objc_assign_threadlocal`](/documentation/ObjectiveC/objc_assign_threadlocal)

[`objc_assign_weak`](/documentation/ObjectiveC/objc_assign_weak)

[`objc_atomicCompareAndSwapGlobal`](/documentation/ObjectiveC/objc_atomicCompareAndSwapGlobal)

[`objc_atomicCompareAndSwapGlobalBarrier`](/documentation/ObjectiveC/objc_atomicCompareAndSwapGlobalBarrier)

[`objc_atomicCompareAndSwapInstanceVariable`](/documentation/ObjectiveC/objc_atomicCompareAndSwapInstanceVariable)

[`objc_atomicCompareAndSwapInstanceVariableBarrier`](/documentation/ObjectiveC/objc_atomicCompareAndSwapInstanceVariableBarrier)

[`objc_atomicCompareAndSwapPtr`](/documentation/ObjectiveC/objc_atomicCompareAndSwapPtr)

[`objc_atomicCompareAndSwapPtrBarrier`](/documentation/ObjectiveC/objc_atomicCompareAndSwapPtrBarrier)

[`objc_begin_catch`](/documentation/ObjectiveC/objc_begin_catch(_:))

[`objc_clear_stack`](/documentation/ObjectiveC/objc_clear_stack(_:))

[`objc_collect`](/documentation/ObjectiveC/objc_collect(_:))

[`objc_collectableZone`](/documentation/ObjectiveC/objc_collectableZone())

[`objc_collecting_enabled`](/documentation/ObjectiveC/objc_collecting_enabled())

[`objc_collectingEnabled`](/documentation/ObjectiveC/objc_collectingEnabled())

[`objc_end_catch`](/documentation/ObjectiveC/objc_end_catch())

[`objc_enumerateClasses(fromImage:matchingNamePrefix:conformingTo:subclassing:)`](/documentation/ObjectiveC/objc_enumerateClasses(fromImage:matchingNamePrefix:conformingTo:subclassing:))

[`objc_enumerateClasses`](/documentation/ObjectiveC/objc_enumerateClasses)

[`objc_exception_rethrow`](/documentation/ObjectiveC/objc_exception_rethrow())

[`objc_exception_throw`](/documentation/ObjectiveC/objc_exception_throw(_:))

Throw a runtime exception. This function is inserted by the compiler
where \c @throw would otherwise be.

[`objc_finalizeOnMainThread`](/documentation/ObjectiveC/objc_finalizeOnMainThread(_:))

[`objc_is_finalized`](/documentation/ObjectiveC/objc_is_finalized(_:))

[`objc_memmove_collectable`](/documentation/ObjectiveC/objc_memmove_collectable(_:_:_:))

[`objc_msgSend_fp2ret`](/documentation/ObjectiveC/objc_msgSend_fp2ret)

[`objc_read_weak`](/documentation/ObjectiveC/objc_read_weak)

[`objc_registerThreadWithCollector`](/documentation/ObjectiveC/objc_registerThreadWithCollector())

[`objc_removeExceptionHandler`](/documentation/ObjectiveC/objc_removeExceptionHandler(_:))

[`objc_set_collection_ratio`](/documentation/ObjectiveC/objc_set_collection_ratio(_:))

[`objc_set_collection_threshold`](/documentation/ObjectiveC/objc_set_collection_threshold(_:))

[`objc_setCollectionRatio`](/documentation/ObjectiveC/objc_setCollectionRatio(_:))

[`objc_setCollectionThreshold`](/documentation/ObjectiveC/objc_setCollectionThreshold(_:))

[`objc_setExceptionMatcher`](/documentation/ObjectiveC/objc_setExceptionMatcher(_:))

[`objc_setExceptionPreprocessor`](/documentation/ObjectiveC/objc_setExceptionPreprocessor(_:))

[`objc_setForwardHandler`](/documentation/ObjectiveC/objc_setForwardHandler(_:_:))

Set the function to be called by objc_msgForward.

[`objc_setHook_getClass`](/documentation/ObjectiveC/objc_setHook_getClass(_:_:))

[`objc_setHook_getImageName`](/documentation/ObjectiveC/objc_setHook_getImageName(_:_:))

[`objc_setHook_lazyClassNamer`](/documentation/ObjectiveC/objc_setHook_lazyClassNamer(_:_:))

[`objc_setUncaughtExceptionHandler`](/documentation/ObjectiveC/objc_setUncaughtExceptionHandler(_:))

[`objc_start_collector_thread`](/documentation/ObjectiveC/objc_start_collector_thread())

[`objc_startCollectorThread`](/documentation/ObjectiveC/objc_startCollectorThread())

[`objc_sync_enter`](/documentation/ObjectiveC/objc_sync_enter)

Begin synchronizing on ‘obj’.  Allocates recursive pthread_mutex associated with ‘obj’ if needed.

[`objc_sync_exit`](/documentation/ObjectiveC/objc_sync_exit)

End synchronizing on ‘obj’.

[`objc_terminate`](/documentation/ObjectiveC/objc_terminate())

[`objc_unregisterThreadWithCollector`](/documentation/ObjectiveC/objc_unregisterThreadWithCollector())

[`object_copyFromZone`](/documentation/ObjectiveC/object_copyFromZone)

[`object_isClass`](/documentation/ObjectiveC/object_isClass(_:))

[`object_setInstanceVariableWithStrongDefault`](/documentation/ObjectiveC/object_setInstanceVariableWithStrongDefault)

[`object_setIvarWithStrongDefault`](/documentation/ObjectiveC/object_setIvarWithStrongDefault(_:_:_:))

[`protocol_copyPropertyList2`](/documentation/ObjectiveC/protocol_copyPropertyList2(_:_:_:_:))

[`sel_isMapped`](/documentation/ObjectiveC/sel_isMapped(_:))

Identifies a selector as being valid or invalid.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)