Expand description
Raw bindings to Objective-C runtimes
These bindings contain almost no documentation, so it is highly recommended to read the documentation of the original libraries:
- Apple’s official documentation.
- Apple’s
objc4
source code, in particularruntime.h
. - GNUStep’s
libobjc2
source code, in particularruntime.h
.
See also the README.md
for more
background information, and for how to configure the desired runtime.
Structs
An opaque type that represents an Objective-C class.
An opaque type that represents an instance variable.
A type that represents a method in a class definition.
Describes an Objective-C method.
An opaque type that represents an object / an instance of a class.
An opaque type that describes a property in a class.
Describes an Objective-C property attribute.
Opaque type for Objective-C protocols.
An opaque type that represents a method selector.
Specifies data used when sending messages to superclasses.
Constants
The maximum value for an NSInteger.
The minimum value for an NSInteger.
The maximum value for an NSUInteger.
Only relevant before macOS 10.13
OBJC_SYNC_SUCCESS
apple
OBJC_SYNC_TIMED_OUT
apple
Only relevant before macOS 10.13
Functions
_objc_msgForward⚠
apple
_objc_msgForward_stret⚠
apple
and non-AArch64class_addIvar⚠Non-
objfw
class_addProperty⚠Non-
objfw
class_addProtocol⚠Non-
objfw
class_copyIvarList⚠Non-
objfw
class_copyMethodList⚠Non-
objfw
class_copyPropertyList⚠Non-
objfw
class_copyProtocolList⚠Non-
objfw
class_createInstance⚠Non-
objfw
class_getClassMethod⚠Non-
objfw
class_getClassVariable⚠Non-
objfw
class_getImageName⚠
apple
class_getInstanceMethod⚠Non-
objfw
class_getInstanceVariable⚠Non-
objfw
class_getIvarLayout⚠Non-
objfw
class_getMethodImplementation_stret⚠
objfw
or non-AArch64class_getProperty⚠Non-
objfw
class_getVersion⚠Non-
objfw
class_getWeakIvarLayout⚠
apple
class_replaceProperty⚠Non-
objfw
class_setIvarLayout⚠Non-
objfw
class_setVersion⚠Non-
objfw
class_setWeakIvarLayout⚠
apple
imp_getBlock⚠Non-
objfw
imp_implementationWithBlock⚠Non-
objfw
imp_removeBlock⚠Non-
objfw
ivar_getName⚠Non-
objfw
ivar_getOffset⚠Non-
objfw
ivar_getTypeEncoding⚠Non-
objfw
method_copyArgumentType⚠Non-
objfw
method_copyReturnType⚠Non-
objfw
method_exchangeImplementations⚠Non-
objfw
method_getArgumentType⚠Non-
objfw
method_getDescription⚠
apple
method_getImplementation⚠Non-
objfw
method_getName⚠Non-
objfw
method_getNumberOfArguments⚠Non-
objfw
method_getReturnType⚠Non-
objfw
method_getTypeEncoding⚠Non-
objfw
method_invoke⚠
apple
method_invoke_stret⚠
apple
and non-AArch64method_setImplementation⚠Non-
objfw
objc_addExceptionHandler⚠
apple_new
and macOSobjc_allocateProtocol⚠Non-
objfw
objc_autoreleasePoolPop⚠Non-
objfw
objc_autoreleasePoolPush⚠Non-
objfw
objc_begin_catch⚠
gnustep
or apple_new
objc_copyImageNames⚠
apple
objc_copyProtocolList⚠Non-
objfw
objc_disposeClassPair⚠Non-
objfw
objc_duplicateClass⚠
apple
objc_end_catch⚠
gnustep
or apple_new
objc_enumerationMutation⚠
apple
or objfw
objc_exception_rethrow⚠
apple_new
objc_exception_try_enter⚠
apple_old
objc_exception_try_exit⚠
apple_old
objc_getAssociatedObject⚠Non-
objfw
objc_getMetaClass⚠Non-
objfw
objc_getProtocol⚠Non-
objfw
objc_msgSend⚠Non-
objfw
objc_msgSendSuper⚠
apple
objc_msgSendSuper_stret⚠
apple
and non-AArch64objc_msgSend_fp2ret⚠
apple
and x86-64objc_msgSend_fpret⚠Non-
objfw
and (x86-64 or x86)objc_msgSend_stret⚠Non-
objfw
and non-AArch64objc_msg_lookup⚠
gnustep
or objfw
objc_msg_lookup_stret⚠
objfw
objc_msg_lookup_super⚠
gnustep
or objfw
objc_registerProtocol⚠Non-
objfw
objc_removeAssociatedObjects⚠Non-
objfw
objc_removeExceptionHandler⚠
apple_new
and macOSobjc_setAssociatedObject⚠Non-
objfw
objc_setEnumerationMutationHandler⚠
apple
or objfw
objc_setExceptionMatcher⚠
apple_new
objc_setExceptionPreprocessor⚠
apple_new
objc_setForwardHandler⚠
apple
or objfw
objc_setUncaughtExceptionHandler⚠
apple_new
or objfw
object_getIndexedIvars⚠Non-
objfw
object_getIvar⚠Non-
objfw
object_setIvar⚠Non-
objfw
property_copyAttributeList⚠Non-
objfw
property_copyAttributeValue⚠Non-
objfw
property_getAttributes⚠Non-
objfw
property_getName⚠Non-
objfw
protocol_addMethodDescription⚠Non-
objfw
protocol_addProperty⚠Non-
objfw
protocol_addProtocol⚠Non-
objfw
protocol_copyMethodDescriptionList⚠Non-
objfw
protocol_copyPropertyList⚠Non-
objfw
protocol_copyProtocolList⚠Non-
objfw
protocol_getMethodDescription⚠Non-
objfw
protocol_getProperty⚠Non-
objfw
sel_getUid⚠Non-
objfw
sel_isMapped⚠
apple
Type Definitions
The Objective-C
BOOL
type.A nullable pointer to the start of a method implementation.
A signed integer value type.
Describes an unsigned integer.
An immutable pointer to a selector.
A mutable pointer to an object / instance.
objc_exception_handler
apple_new
and macOSRemember that this is non-null!
objc_exception_matcher
apple_new
Remember that this is non-null!
objc_exception_preprocessor
apple_new
Remember that this is non-null!
objc_uncaught_exception_handler
apple_new
Remember that this is non-null!