美文网首页iOS进阶专栏iOS常用
iOS/Swift Rumtime 相关API

iOS/Swift Rumtime 相关API

作者: Style_月月 | 来源:发表于2020-09-04 00:22 被阅读0次

    Objective-C Runtime

    Objective-C runtime是一个运行库,它提供对Objective-C语言的动态属性的支持,因此所有Objective-C应用程序都链接到它。Objective-C运行库支持函数在位于/usr/lib/libobjc.A.dylib的共享库中实现。

    在Objective-C中编程时,通常不需要直接使用Objective-C运行时库。此API主要用于开发Objective-C和其他语言之间的桥接层,或用于低级调试

    Objective-C运行库的macOS实现是Mac独有的。对于其他平台,GNU编译器集合使用类似的API提供了不同的实现。本文档仅涉及macOS实现。

    底层Objective-C运行时API在osx版本10.5中进行了显著更新。许多函数和所有现有的数据结构都被新函数所取代。旧的函数和结构在32位模式下不推荐使用,而在64位模式中则不存在。即使在64位模式的类计数、协议计数、每个类的方法、每个类的ivar、每个方法的参数、每个方法的sizeof(所有参数)和类版本号中,API也将多个值约束为32位int。此外,新的Objective-cabi(这里没有描述)进一步将sizeof(一个实例)限制为32位,将另外三个值限制为每个类的24位方法、每个类的ivar和sizeof(单个ivar)。最后,过时的NXHashTable和NXMapTable被限制为40亿个条目。

    常用的runtime API 主要有以下几种:

    1、objc_xxx系列函数

    objc_xxx系列函数

    2、class_xxx系列函数

    class_xxx系列函数

    3、object_xxx系列函数

    object_xxx系列函数

    4、method_xxx系列函数

    method_xxx系列函数

    5、property_xxx系列函数

    property_xxx系列函数

    6、protocol_xxx系列函数

    protocol_xxx系列函数

    7、ivar_xxx系列函数

    ivar_xxx系列函数

    8、sel_xxx系列函数

    sel_xxx系列函数

    9、imp_xxx系列函数

    imp_xxx系列函数

    注:runtime API 汇总文档 百度云下载,密码:zcs2

    相关文章

      网友评论

        本文标题:iOS/Swift Rumtime 相关API

        本文链接:https://www.haomeiwen.com/subject/zksasktx.html