mat*_*att 51
它是静态的 - 非常静态.编译器必须在编译时获得有关所有类和函数的所有信息.您可以"扩展"现有的类(带有extension),但即使这样,您也必须在编译时完全定义该扩展所包含的内容.
Objective-C中是动态的,因为,在现实生活中,你可能会在可可的情况下使用雨燕,你可以使用Objective-C运行时注入在暴露于Objective-C的一个斯威夫特类/调酒方法.即使您使用Swift语言说话,也可以这样做.但Swift 本身是静态的,实际上是明确设计的,以便最小化或消除Objective-C型动态的使用.
Swift 本身是静态类型的。当与 Cocoa 一起使用时,您可以访问 Objective-c 运行时库,它使您能够使用动态类、消息等。这并不意味着语言本身是动态类型的。您可以对 C 或任何其他支持 C 桥接的语言使用libobjc.A.dylib.