在不同的平台上有着不同的Objective-C运行时版本。
Objective-C运行时有两个版本——“当前版”和“过去版”。当前版随着Objective-2.0引入,包含了许多新特性。运行时的过去版的编程接口在 Objective-C 1 Runtime Reference 中有介绍;运行时的当前版的编程接口在 Objective-C Runtime Reference 中介绍。
最显著的新特性就是在当前版运行时中实例变量是“不会破碎的”:
在过去的运行时中,如果你在类中改动了实例变量的布局,你必须重编译继承它的所有类。在当前的运行时中,如果你在类中改动了实例变量的布局,你不必重编译继承它的所有类。另外,当前的运行时支持已声明属性的实例变量组合(参见《 The Objective-C PRogramming Language 》的《Declared Properties》一节)。
iphone应用和在OS X v10.5及以后版本的64位程序使用运行时的当前版本。
其他程序(OS X桌面的32位程序)使用运行时的过去版本。
新闻热点
疑难解答