runtime相关api注释

     Runtime 官方文档Api地址:https://developer.apple.com/reference/objectivec/objective_c_runtime?language=objc

     获取类的名称:

     class_getName

     获取父类:

     class_getSuperclass

     判断是否为元类:

     class_isMetaClass

     获取实例对象的size

     class_getInstanceSize

     获取实例变量:

     class_getInstanceVariable

     获取类变量:

     class_getClassVariable

     为一个类添加变量:

     class_addIvar

     获取变量列表:

     class_copyIvarList

     获取变量布局:

     class_getIvarLayout

     设置变量布局:

     class_setIvarLayout

     获取weak变量布局:

     class_getWeakIvarLayout

     设置weak变量布局:

     class_setWeakIvarLayout

     获取属性:

     class_getProperty

     获取属性列表:

     class_copyPropertyList

     动态添加方法:

     class_addMethod

     获取实例方法:

     class_getInstanceMethod

     获取类方法:

     class_getClassMethod

     获取方法列表:

     class_copyMethodList

     更换方法:

     class_replaceMethod

     获取方法实现指针:

     class_getMethodImplementation

     class_getMethodImplementation_stret

     判断是否能够响应selector

     class_respondsToSelector

     向类中添加协议:

     class_addProtocol

     添加属性:

     class_addProperty

     更换属性:

     class_replaceProperty

     判断类是否实现了这个协议:

     class_conformsToProtocol

     获取协议列表:

     class_copyProtocolList

     获取类的版本:

     class_getVersion

     设置类的版本:

     class_setVersion

     

     动态创建一个类:

     objc_allocateClassPair

     动态销毁一个类:

     objc_disposeClassPair

     注册一个类:

     objc_registerClassPair

     复制一个类:

     objc_duplicateClass

     

     

     创建一个类的实例,默认的类分配内存分配内存区域:

     class_createInstance

     在制定位置创建一个类的实例:

     objc_constructInstance

     销毁一个未释放内存类的实例,并删除相关引用:

     objc_destructInstance

     

     

     copy一个对象:

     object_copy

     销毁一个对象:

     object_dispose


     获取实例变量的值:

     object_getIvar

     设置实例变量的值:

     object_setIvar

     获取类名:

     object_getClassName

     获取对象的类:

     object_getClass

     设置类的对象:

     object_setClass

     获取定义类注册列表

     objc_getClassList

     创建并返回一个所有注册类指针列表

     

     objc_copyClassList

     返回指定类的类定义

     返回Class类型,可为空

     objc_lookUpClass

     返回id类型

     objc_getClass

     返回Class类型,不为空

     objc_getRequiredClass

     

     获取指定类的元类定义

     objc_getMetaClass

     

     返回实例变量的名称

     ivar_getName

     返回实例变量的字符类型,如:@"NSString"

     ivar_getTypeEncoding

     返回实例变量的偏移量

     ivar_getOffset

     

     设置关联属性

     objc_setAssociatedObject

     获取关联属性

     objc_getAssociatedObject

     移除该对象的所有关联属性

     objc_removeAssociatedObjects

     

     消息发送

     向一个对象发送消息

     objc_msgSend

     向一个结构体发消息

     objc_msgSend_stret

     向一个父类的实例发送消息

     objc_msgSendSuper

     向一个结构体发消息

     objc_msgSendSuper_stret

     

     

     调用制定方法的实现

     method_invoke

     调用指定的方法,该方法返回一个数据结构的实现

     method_invoke_stret

     获取方法的名称

     method_getName

     获取方法的实现

     method_getImplementation

     获取方法参数和返回值类型的字符描述

     method_getTypeEncoding

     返回一个字符串描述一个方法的返回类型

     method_copyReturnType

     返回一个字符串描述一个方法的参数类型。

     method_copyArgumentType

     获取一个方法的返回值类型

     method_getReturnType

     返回一个方法的参数个数

     method_getNumberOfArguments

     返回一个方法单一参数类型字符串描述

     method_getArgumentType

     获取方法的结构描述

     method_getDescription

     设置方法的实现

     method_setImplementation

     交换方法的实现

     method_exchangeImplementations

     

     返回所有objective - c框架和加载动态库的名字。

     objc_copyImageNames

     返回这个类起源于动态库的名称

     class_getImageName

     返回制定静态库或动态库的所有类的名称

     objc_copyClassNamesForImage

     

     获取sel的名称

     sel_getName

     注册一个objective - c运行时系统的方法,将方法名称映射到一个选择器,并返回选择的值。

     sel_registerName

     在运行时注册一个方法名称

     sel_getUid

     判断两个方法的selector是否相等

     sel_isEqual

     

     

     获取指定协议

     objc_getProtocol

     返回在运行时所有协议

     objc_copyProtocolList

     注册一个新创建的协议在运行时

     objc_registerProtocol

     创建一个新协议的实例

     objc_allocateProtocol

     在运行时注册一个新创建的协议

     objc_registerProtocol

     向一个协议增加方法

     protocol_addMethodDescription

     添加一个注册协议到另一个正在组件的协议中

     protocol_addProtocol

     向一个正在组建的协议中添加属性

     protocol_addProperty

     获取协议的名称

     protocol_getName

     判断两个协议是否相等

     protocol_isEqual

     返回对指定协议方法结构体描述的数组

     protocol_copyMethodDescriptionList

     返回一个指定协议指定方法的结构体描述

     protocol_getMethodDescription

     返回协议中声明属性的数组

     protocol_copyPropertyList

     返回指定协议的指定数组

     protocol_getProperty

     返回一个协议的协议采用的数组

     protocol_copyProtocolList

     判断一个协议是否遵从另外一个协议

     protocol_conformsToProtocol

     


     获取属性名称

     property_getName

     返回属性的属性字符串如:T@"NSString",C,N,V_name

     property_getAttributes

     给一个属性名返回属性值

     property_copyAttributeValue

     给定一个属性返回属性特征的数组

     property_copyAttributeList

     

     在编译期插入当在foreach迭代期间检测到突变

     objc_enumerationMutation

     设置当前突变处理程序

     objc_setEnumerationMutationHandler

     

     创建一个指向函数的指针,调用方法被调用时指定的块

     imp_implementationWithBlock

     返回使用IMP关联的block,该IMP是使用imp_implementationWithBlock创建的

     imp_getBlock

     

     释放从一个用imp_implementationWithBlock创建的IMP来的block,并释放创建block是副本

     imp_removeBlock

     加载一个弱指针引用的对象,并返回他

     objc_loadWeak

     在一个被—__weak修饰的变量存储一个新值

     objc_storeWeak

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值