swift - Swift 是动态语言还是静态语言?

标签 swift

我只是好奇 Swift 是像 php 一样是动态的还是静态的,我的意思是我可以在应用程序运行时生成类吗?

最佳答案

它是静态的——非常静态。编译器必须在编译时拥有关于所有类和函数的所有信息。您可以“扩展”现有类(使用 extension),但即便如此,您也必须在编译时完全定义该扩展包含的内容。

Objective-C 是动态的,因为在现实生活中,您可能会在 Cocoa 存在的情况下使用 Swift,您可以使用 Objective-C 运行时在暴露给 Objective 的 Swift 类中注入(inject)/调整方法-C。即使您使用的是 Swift 语言,也可以这样做。但是 Swift 本身 是静态的,实际上是明确设计的,目的是尽量减少或消除 Objective-C 类型动态的使用。

关于swift - Swift 是动态语言还是静态语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29924477/

相关文章:

swift - dateFromString() 返回不正确的日期

swift - 添加活力时,保留按钮上的界面构建器约束

ios - Swift 中方法的弃用和其他属性,怎么样?

swift - 如何获取collectionViewLayout中的CollectionViewCell?

iOS Swift 游戏方向错误

ios - 通过 unwind segue 传递数据

ios - 图像不显示在 Firebase 的表格单元格中

ios - 以编程方式向 UIView 添加约束

ios - 如何从音乐库mediaPicker和文件应用documentPicker获取音频元数据?

swift - 编译器不允许我比较类型