运行时版本和平台
在不同平台上有不同版本的 Objective-C 运行时。
遗产和现代版本
Objective-C 运行时有两个版本 - “现代” 和 “传统”。现代版本随 Objective-C 2.0 一起推出,包含许多新功能。Objective-C 1 运行时参考中描述了遗留版本的运行时的编程接口 ; Objective-C 运行时参考中描述了现代版本的运行时的编程接口。
最值得注意的新功能是现代运行时中的实例变量是 “非脆弱的”:
-
在遗留运行时中,如果更改类中实例变量的布局,则必须重新编译从其继承的类。
-
在现代运行时,如果更改类中实例变量的布局,则不必重新编译从其继承的类。
此外,现代运行时支持声明属性的实例变量合成(请参阅 Objective-C 编程语言中的声明属性)。
平台
OS X v10.5 及更高版本上的 iPhone 应用程序和 64 位程序使用现代版本的运行时。
其他程序(OS X 桌面上的 32 位程序)使用运行时的旧版本。