设为首页 加入收藏

TOP

iOS的Runtime知识点繁杂难啃,真的理解它的思想,你就豁然开朗了(二)
2023-07-23 13:26:34 】 浏览:90
Tags:iOS Runtime 解它的
否为元类 objc_getProtocol 获取某个协议 objc_copyProtocolList 拷贝在运行时中注册过的协议列表 class_getSuperclass 获取某类的父类 class_setSuperclass 设置某类的父类 class_getProperty 获取某类的属性 class_getInstanceVariable 获取实例变量 class_getClassVariable 获取类变量 class_getInstanceMethod 获取实例方法 class_getClassMethod 获取类方法 class_getMethodImplementation 获取方法的实现 class_getInstanceSize 获取类的实例的大小 class_respondsToSelector 判断类是否实现某方法 class_conformsToProtocol 判断类是否遵循某协议 class_createInstance 创建类的实例 class_copyIvarList 拷贝类的实例变量列表 class_copyMethodList 拷贝类的方法列表 class_copyProtocolList 拷贝类遵循的协议列表 class_copyPropertyList 拷贝类的属性列表

objcet_*

objcet_系列函数关注于对象的角度,如实例变量


// 3.object_xxx 系列函数
函数名称     函数作用
object_copy     对象copy(ARC无效)
object_dispose     对象释放(ARC无效)
object_getClassName     获取对象的类名
object_getClass     获取对象的Class
object_setClass     设置对象的Class
object_getIvar     获取对象中实例变量的值
object_setIvar     设置对象中实例变量的值
object_getInstanceVariable     获取对象中实例变量的值 (ARC中无效,使用object_getIvar)
object_setInstanceVariable     设置对象中实例变量的值 (ARC中无效,使用object_setIvar)

method_*

method_系列函数关注于方法内部,如果方法的参数及返回值类型和方法的实现

// 4.method_xxx 系列函数
函数名称     函数作用
method_getName     获取方法名
method_getImplementation     获取方法的实现
method_getTypeEncoding     获取方法的类型编码
method_getNumberOfArguments     获取方法的参数个数
method_copyReturnType     拷贝方法的返回类型
method_getReturnType     获取方法的返回类型
method_copyArgumentType     拷贝方法的参数类型
method_getArgumentType     获取方法的参数类型
method_getDescription     获取方法的描述
method_setImplementation     设置方法的实现
method_exchangeImplementations     替换方法的实现

property_*

property_系类函数关注与属性*内部,如属性的特性等


// 5.property_xxx 系列函数
函数名称     函数作用
property_getName     获取属性名
property_getAttributes     获取属性的特性列表
property_copyAttributeList     拷贝属性的特性列表
property_copyAttributeva lue     拷贝属性中某特性的值

protocol_*


// 6.protocol_xxx 系列函数
函数名称     函数作用
protocol_conformsToProtocol     判断一个协议是否遵循另一个协议
protocol_isEqual     判断两个协议是否一致
protocol_getName     获取协议名称
protocol_copyPropertyList     拷贝协议的属性列表
protocol_copyProtocolList     拷贝某协议所遵循的协议列表
protocol_copyMethodDescriptionList     拷贝协议的方法列表
protocol_addProtocol     为一个协议遵循另一协议
protocol_addProperty     为协议添加属性
protocol_getProperty     获取协议中的某个属性
protocol_addMethodDescription     为协议添加方法描述
protocol_getMethodDescription     获取协议中某方法的描述

ivar_*

// 7.ivar_xxx 系列函数
函数名称     函数作用
ivar_getName     获取Ivar名称
ivar_getTypeEncoding     获取类型编码
ivar_getOffset     获取偏移量

sel_*

// 8.sel_xxx 系列函数
函数名称     函数作用
sel_getName     获取名称
sel_getUid     注册方法
sel_registerName     注册方法
sel_isEqual     判断方法是否相等

imp_*

// 9.imp_xxx 系列函数
函数名称     函数作用
imp_implementationWithBlock     通过代码块创建IMP
imp_getBlock     获取函数指针中的代码块
imp_removeBlock     移除IMP中的代码块
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇基于AVFoundation实现视频录制的.. 下一篇日本开放Wi-Fi 6E认证

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目