[OC Runtime编程指南_翻译]二、运行时版本和平台

简介: [OC Runtime编程指南_翻译]二、运行时版本和平台

[OC Runtime编程指南_翻译]二、运行时版本和平台


Objective-C运行时在不同的平台上有不同的版本。


Legacy and Modern 版本


Objective-C运行时有两个版本-“modern”和“legacy”。modern版本是在Objective-c2.0中引入的,它包含了许多新特性。legacy版本的运行时的编程接口在Objective-c1运行时参考中描述;现代版本的运行时的编程接口在_Objective-C _运行时参考中描述。

最值得注意的新特性是,现代运行时中的实例变量是“非脆弱的”:


  • legacy runtime中,如果更改类中实例变量的布局,则必须重新编译继承自它。
  • modern runtime中,如果更改类中实例变量的布局,则不必重新编译继承自它。


此外,现代运行时支持声明属性的实例变量合成(请参阅 _Objective-C _编程语言中的 声明属性


平台


OS X v10.5及更高版本上的iPhone应用程序和64位程序使用modern 版本的运行时间。


其他程序(OSX桌面上的32位程序)使用 legacy 版本的运行库。


相关文章
|
8月前
|
人工智能 Rust 安全
WebAssembly运行时库(WASM runtime:wasmer 或 wasmtime)\将rust官方demo猜数字编译为WASI目标并使用Wasmer运行
WebAssembly运行时库(WASM runtime:wasmer 或 wasmtime)\将rust官方demo猜数字编译为WASI目标并使用Wasmer运行
134 2
|
缓存 Swift
OC版本的Moya插件网络
OC版本的Moya插件网络
|
程序员 编译器 Linux
G0 语言编译运行说明 | 学习笔记
快速学习 G0 语言编译运行说明
|
缓存 编译器 iOS开发
[OC Runtime编程指南_翻译]四、消息传递
本章介绍如何将消息表达式转换为objc_msgSend函数调用,以及如何按名称引用方法。然后解释如何利用objc_msgSend,以及如果需要,如何绕过动态绑定。
135 0
[OC Runtime编程指南_翻译]四、消息传递
|
算法 iOS开发
[OC Runtime编程指南_翻译]六、消息转发
[OC Runtime编程指南_翻译]六、消息转发
168 0
[OC Runtime编程指南_翻译]六、消息转发
|
编译器 iOS开发
[OC Runtime编程指南_翻译]七、类型编码
[OC Runtime编程指南_翻译]七、类型编码
125 0
[OC Runtime编程指南_翻译]七、类型编码
|
API
OC底层知识(九) : Runtime(下)
OC底层知识(九) : Runtime(下)
111 0
OC底层知识(九) : Runtime(下)
|
存储 API C语言
OC底层知识(九) : Runtime(上)
OC底层知识(九) : Runtime
170 0
OC底层知识(九) : Runtime(上)
|
编译器 iOS开发
[OC Runtime编程指南_翻译]八、声明属性
[OC Runtime编程指南_翻译]八、声明属性
190 0
[OC Runtime编程指南_翻译]八、声明属性
|
NoSQL 编译器 iOS开发
[OC Runtime编程指南_翻译]三、与运行时交互
[OC Runtime编程指南_翻译]三、与运行时交互
149 0