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

[OC Runtime编程指南_翻译]一、介绍 & 二、运行时版本和平台
[OC Runtime编程指南_翻译]三、与运行时交互
[OC Runtime编程指南_翻译]四、消息传递
[OC Runtime编程指南_翻译]五、动态方法解析
[OC Runtime编程指南_翻译]六、消息转发
[OC Runtime编程指南_翻译]七、类型编码
[OC Runtime编程指南_翻译]八、声明属性

注:pdf翻译文档百度云下载链接,密码:zcs2

注:Objective-C Runtime Programming Guide.

一、介绍

重要提示:此文档不再更新。有关Apple SDK的最新信息,请访问 文档网站
Objective-C语言将尽可能多的决策从编译时和链接时间延迟到运行时。只要有可能,它都是动态的。这意味着该语言不仅需要编译器,还需要运行时系统来执行编译后的代码。运行时系统作为Objective-C语言的一种操作系统;它使语言工作。

这个文档介绍了NSObject类以及Objective-C程序如何与运行时系统交互。特别是,它检查了在运行时动态加载新类和将消息转发到其他对象的范例。它还提供有关如何在程序运行时查找有关对象的信息的信息跑步。

你应该阅读本文档,以了解Objective-C运行时系统的工作原理以及如何利用它。不过,通常情况下,编写Cocoa应用程序时不需要了解和理解这些内容

文档结构
本文档包括以下章节:

另请参阅
Objective-C Runtime Reference 描述Objective-C运行时支持库的数据结构和函数。您的程序可以使用这些接口与Objective-C运行时系统进行交互。例如,您可以添加类或方法,或获取要加载的所有类定义的列表类。.
Programming with Objective-C 描述Objective-C语言.
Objective-C Release Notes 描述了OSX最新版本中Objective-C运行时的一些变化.

运行时版本和平台

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

猜你喜欢

转载自blog.csdn.net/lin1109221208/article/details/108395288