1.objc_xxx
A series of function
Objc_getClass gets the Class object
Objc_getMetaClass gets the MetaClass object
Objc_allocateClassPair allocates space and creates classes (member variables can only be added after creation but before registration)
Objc_registerClassPair Registers a class (you can use that class to create objects)
Objc_disposeClassPair unregisters a class
Objc_allocateProtocol Specifies the space creation protocol
Objc_registerProtocol Registers a protocol
Objc_constructInstance Constructs an instance object (invalid under ARC)
Objc_destructInstance DestructInstance destructInstance object (not valid under ARC)
Objc_setAssociatedObject associates an object with an instance object
Objc_getAssociatedObject Gets the associated object of the instance object
Objc_removeAssociatedObjects clears all associated objects of the instance object
The objc_xxx family of functions focuses on macro usage, such as class and protocol space allocation, registration, logout, and other operations
2.class_xxx
A series of function
Class_addIvar adds an instance variable to the class
Class_addProperty Adds attributes to the class
Class_addMethod adds a method to a class
Class_addProtocol is the class compliance protocol
Class_replaceMethod replaces the implementation of a method of a class
Class_getName Gets the class name
Class_isMetaClass Determines whether it is a metaclass
Objc_getProtocol Gets a protocol
Objc_copyProtocolList Copies the list of protocols registered at runtime
Class_getSuperclass Gets the parent class of a class
Class_setSuperclass Sets the parent class of a class
Class_getProperty Gets a property of a class
Class_getInstanceVariable gets the instance variable
Class_getClassVariable Gets a class variable
Class_getInstanceMethod Method of obtaining an instance
Class_getClassMethod Gets the class method
An implementation of the class_getMethodImplementation method
Class_getInstanceSize Gets the size of the instance of the class
Class_respondsToSelector Determines whether a class implements a method
Class_conformsToProtocol Determines whether a class complies with a protocol
Class_createInstance Creates an instance of the class
Class_copyIvarList List of instance variables for copying a class
Class_copyMethodList The list of methods used to copy a class
Class_copyProtocolList List of protocols followed by copy classes
Class_copyPropertyList Property list of the copy class
The class_xxx family of functions focuses on the internals of a class, such as instance variables, attributes, methods, protocols, and other related issues
3.object_xxx
A series of function
Object_copy Object copy(ARC invalid)
Dispose object_Dispose object (ARC invalid)
Object_getClassName Gets the class name of the object
Object_getClass Gets the Class of the object
Object_setClass Sets the Class of the object
Object_getIvar gets the value of the instance variable in the object
Object_setIvar Sets the value of the instance variable in the object
Object_getInstanceVariable Retrieves the value of an instance variable in an object (not available in ARC, using object_getIvar)
Object_setInstanceVariable Sets the value of an instance variable in an object (not available in ARC, using object_setIvar)
The object_xxx family of functions focuses on the object perspective, such as instance variables
4.method_xxx
A series of function
Method_getName Gets the method name
Implementation of the method_getImplementation method
Method_getTypeEncoding Gets the type encoding of the method
Method_getNumberOfArguments Gets the number of method arguments
Method_copyReturnType The return type of the copied method
Method_getReturnType Gets the return type of the method
Method_copyArgumentType Indicates the parameter types of copied methods
Method_getArgumentType Gets the parameter type of the method
Method_getDescription Gets the description of the method
Implementation of the method_setImplementation setting method
Method_exchangeImplementations Implementation of the replacement method
The method_xxx 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
5.property_xxx
A series of function
Property_getName Gets the property name
Property_getAttributes Gets the property list of the property
Property_copyAttributeList List of copied attributes
Property_copyAttributeValue Value of a property in a copy property
Property_xxx is a class function that looks inside a property, such as its properties
6.protocol_xxx
A series of function
Protocol_conformsToProtocol Determines whether a protocol complies with another protocol
Protocol_isEqual Checks whether two protocols are consistent
Protocol_getName Indicates the protocol name
Protocol_copyPropertyList Indicates the property list of a copy protocol
Protocol_copyProtocolList List of protocols followed by a protocol
Protocol_copyMethodDescriptionList copy the list of methods of the agreement
Protocol_addProtocol Indicates that one protocol complies with another
Protocol_addProperty Adds an attribute to a protocol
Protocol_getProperty Indicates an attribute of a protocol
Protocol_addMethodDescription Adds a method description to a protocol
Protocol_getMethodDescription Gets the description of a method in a protocol
7.ivar_xxx
A series of function
Ivar_getName Obtains the Ivar name
Ivar_getTypeEncoding Gets the type encoding
Ivar_getOffset Gets the offset
8.sel_xxx
A series of function
Sel_getName Gets the name
Sel_getUid Registration method
Sel_registerName Registration method
Sel_isEqual Determines whether methods are equal
9.imp_xxx
A series of function
Imp_implementationWithBlock Creates imPs from code blocks
Imp_getBlock gets the code block in the function pointer
Imp_removeBlock Removes code blocks from IMP