[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 版本的运行库。


相关文章
|
7月前
|
NoSQL IDE Go
Go 语言源码级调试器 Delve
Go 语言源码级调试器 Delve
39 0
|
12月前
|
Go 开发工具 git
我的Go+语言初体验——基于Windows系统创建Go+语言环境
我的Go+语言初体验——基于Windows系统创建Go+语言环境
104 0
|
Go API 开发者
Go 官方编程指南 | 学习笔记
快速学习 Go 官方编程指南
259 0
Go 官方编程指南 | 学习笔记
|
存储 Java Go
Go 语言快速入门指南:第八篇 接口
前面的文章中,了解到 Go 语言不是一种传统意义上的面向对象语言,因此 Go 没有类和继承的概念。 但是面向对象的功能很强大而且很实用,前一篇文章中已经了解到可以通过嵌入类型来实现 Has-a 的关系。 这一篇文章将通过学习接口来看到 Go 通过结构体、方法和接口实现面向对象的功能。
|
编译器 Go
Go 语言快速入门指南:第七篇 方法
虽然从技术上讲 Go 不是面向对象的编程语言,但类型和方法允许采用面向对象的编程风格。最大的不同是 Go 不支持类型继承,而是有接口的概念。在本文中,我们将重点介绍 Go 对方法和接口的使用。
Go 语言快速入门指南:第七篇 方法
|
NoSQL 编译器 iOS开发
[OC Runtime编程指南_翻译]三、与运行时交互
[OC Runtime编程指南_翻译]三、与运行时交互
112 0
|
编译器 iOS开发
[OC Runtime编程指南_翻译]五、动态方法解析
[OC Runtime编程指南_翻译]五、动态方法解析
84 0
|
缓存 编译器 iOS开发
[OC Runtime编程指南_翻译]四、消息传递
本章介绍如何将消息表达式转换为objc_msgSend函数调用,以及如何按名称引用方法。然后解释如何利用objc_msgSend,以及如果需要,如何绕过动态绑定。
94 0
[OC Runtime编程指南_翻译]四、消息传递
|
API
OC底层知识(九) : Runtime(下)
OC底层知识(九) : Runtime(下)
81 0
OC底层知识(九) : Runtime(下)
|
存储 API C语言
OC底层知识(九) : Runtime(上)
OC底层知识(九) : Runtime
129 0
OC底层知识(九) : Runtime(上)