iOS/OC Rumtime 相关API

简介: iOS/OC Rumtime 相关API

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系列函数


image.png

objc_xxx系列函数


2、class_xxx系列函数


image.png

class_xxx系列函数


3、object_xxx系列函数


image.png


4、method_xxx系列函数


image.png

5、property_xxx系列函数


image.png



6、protocol_xxx系列函数


image.png


7、ivar_xxx系列函数


image.png


8、sel_xxx系列函数


image.png


9、imp_xxx系列函数


image.png

相关文章
|
文字识别 API iOS开发
iOS小技能:iOS13 证件扫描 & 文字识别API
1. 应用场景:证件扫描、文字识别 2. 原理:利用iOS13 VNDocumentCameraViewController的证件扫描和VNRecognizeTextRequest文字识别功能进行实现
754 0
iOS小技能:iOS13 证件扫描 & 文字识别API
|
10月前
|
JSON 监控 API
小红书:对接苹果支付API满足iOS用户习惯,提升转化率
小红书集成Apple Pay可显著提升iOS用户支付体验,简化流程、增强安全、提高转化率。本文详解从开发配置、代码实现到后端验证与优化策略的全流程,助力高效落地,推动业务增长。(238字)
|
机器学习/深度学习 API iOS开发
探索iOS开发中的SwiftUI框架深入理解RESTful API设计原则与最佳实践
【7月更文挑战第30天】本文深入探讨了SwiftUI框架在iOS开发中的应用,分析了其对用户界面构建的简化方法及性能优化。通过比较传统UI构建方式与SwiftUI的差异,揭示了SwiftUI如何提高开发效率和用户体验。文章还讨论了SwiftUI在实际项目中的集成策略,并展望了其未来的发展方向。 【7月更文挑战第30天】在数字时代的浪潮中,RESTful API如同一座桥梁,连接着不同的软件系统。本文将探讨RESTful API的核心设计原则,揭示其背后的哲学思想,并通过实例分析展示如何将这些原则应用于实际开发中。我们将从资源定位、接口一致性到HTTP方法的恰当使用,逐一剖析,旨在为开发者提供
297 1
|
缓存 JSON API
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
578 3
|
安全 数据安全/隐私保护 iOS开发
iOS 初探代码混淆(OC)
自己做iOS开发也有几年的时间了,平时做完项目基本就直接打包上传到Appstore上,然后做上架操作了。但是最近,客户方面提出了代码安全的要求。说是要做代码混淆,这方面的工作之前从来没有接触过。然后就上网查了一下,原来有很多应用程序都做了代码混淆。看来是我固步自封了......
iOS 初探代码混淆(OC)
|
Swift iOS开发
iOS OC混编Swift 后者无法走断点
iOS OC混编Swift 后者无法走断点
289 0
15-iOS之Runtime常用API以及使用
15-iOS之Runtime常用API以及使用
317 0
|
小程序 API Android开发
小程序获取WIFI的API(IOS conncetWifi()自动跳转设置页)
小程序获取WIFI的API(IOS conncetWifi()自动跳转设置页)
1191 0
|
存储 Unix 编译器
|
存储 算法 iOS开发