1. Objc_xxx series of functions
The objC_ family of functions focuses on macro usage, such as class and protocol space allocation, registration, logout, and other operations
objc_getClass
Get the Class objectobjc_getMetaClass
Get the MetaClass objectobjc_allocateClassPair
Allocate space, create classes (member variables can be added only after creation, but before registration)objc_registerClassPair
Register a class (you can use that class to create objects)objc_disposeClassPair
Unregister a classobjc_allocateProtocol
Open up space to create protocolsobjc_registerProtocol
Register a protocolobjc_constructInstance
Construct an instance object (invalid under ARC)objc_destructInstance
Destruct an instance object (invalid under ARC)objc_setAssociatedObject
Associate an object with an instance objectobjc_getAssociatedObje*ct
Gets the associated object of the instance objectobjc_removeAssociatedObjects
Clears all associated objects of the instance object
2. Class_xxx series functions
The class_ family of functions focuses on the internals of a class, such as instance variables, attributes, methods, protocols, etc
class_addIvar
Add instance variables for the classclass_addProperty
Add attributes to the classclass_addMethod
Add methods for classesclass_addProtocol
Follow the protocol for the classclass_replaceMethod
Replace the implementation of a method of a classclass_getName
Get the name of the classclass_isMetaClass
Determine whether it is a metaclassobjc_getProtocol
Get a protocolobjc_copyProtocolList
Copy the list of protocols registered at run timeclass_getSuperclass
Gets the parent of a classclass_setSuperclass
Sets the parent of a classclass_getProperty
Gets a property of a classclass_getInstanceVariable
Get instance variablesclass_getClassVariable
Get class variablesclass_getInstanceMethod
Get instance methodclass_getClassMethod
Get class methodsclass_getMethodImplementation
Get the implementation of the methodclass_getInstanceSize
Gets the size of an instance of the classclass_respondsToSelector
Determines whether a class implements a methodclass_conformsToProtocol
Determines whether a class complies with a protocolclass_createInstance
Create an instance of the classclass_copyIvarList
Copy the list of instance variables of the classclass_copyMethodList
Copy the list of methods for the classclass_copyProtocolList
Copy the list of protocols that the class followsclass_copyPropertyList
Copy the property list of the class
3.object_xxx series of functions
The objcet_ family of functions focuses on object perspectives, such as instance variables
object_copy
Object copy(ARC invalid)object_dispose
Object release (ARC invalid)object_getClassName
Gets the class name of the objectobject_getClass
Gets the Class of the objectobject_setClass
Sets the Class of the objectobject_getIvar
Gets the value of an instance variable in an objectobject_setIvar
Sets the value of the instance variable in the objectobject_getInstanceVariable
Get the value of the instance variable in the object (not valid in ARC, using object_getIvar)object_setInstanceVariable
Set the value of an instance variable in an object (not valid in ARC, using object_setIvar)
4. Method_xxx series of functions
The method_ family of functions focuses on the inside of a method, the parameters and return value types of the method, and the implementation of the method
method_getName
Get method namemethod_getImplementation
Get the implementation of the methodmethod_getTypeEncoding
Gets the type encoding of the methodmethod_getNumberOfArguments
Gets the number of arguments to the methodmethod_copyReturnType
The return type of the copy methodmethod_getReturnType
Gets the return type of the methodmethod_copyArgumentType
The parameter type of the copy methodmethod_getArgumentType
Gets the parameter type of the methodmethod_getDescription
Gets a description of the methodmethod_setImplementation
The implementation of the set methodmethod_exchangeImplementations
Implementation of replacement methods
5. Property_xxx series functions
Property_ class functions look inside properties, such as properties of properties
property_getName
Get attribute nameproperty_getAttributes
Gets the property list for the propertyproperty_copyAttributeList
Property list of copy propertiesproperty_copyAttributeValue
Copies the value of a property in the property
6. Protocol_xxx series functions
protocol_conformsToProtocol
Determine whether one protocol complies with anotherprotocol_isEqual
Determine whether the two protocols are consistentprotocol_getName
Obtaining the protocol nameprotocol_copyPropertyList
Copy the protocol property listprotocol_copyProtocolList
Copy the protocol list followed by a protocolprotocol_copyMethodDescriptionList
List of methods to copy the protocolprotocol_addProtocol
Follow one protocol for anotherprotocol_addProperty
Add attributes for the protocolprotocol_getProperty
Gets an attribute in the protocolprotocol_addMethodDescription
Add a method description for the protocolprotocol_getMethodDescription
Gets the description of a method in the protocol
Ivar_xxx series of functions
ivar_getName
Obtain the Ivar nameivar_getTypeEncoding
Get type encodingivar_getOffset
Get offset
Sel_xxx series of functions
sel_getName
Get the namesel_getUid
Registration methodsel_registerName
Registration methodsel_isEqual
Determine whether the methods are equal
9. Imp_xxx series functions
imp_implementationWithBlock
Create imPs from blocks of codeimp_getBlock
Gets a block of code in a function pointerimp_removeBlock
Remove code blocks in IMP