gpt4 book ai didi

ios - 无需编译即可使用的扩展

转载 作者:行者123 更新时间:2023-11-30 11:30:44 24 4
gpt4 key购买 nike

我想检查在使用刚刚创建的扩展之前是否有必要编译代码。作为测试,我创建了一个示例扩展

extension String {
func checkExtension() {

}
}

当我这样做时,我既没有保存 Swift 文件中的更改,也没有编译代码。但是 checkExtension 可用于 String 变量。

查询:SDK如何在不编译的情况下知道扩展已经创建并且其功能可以在相应的类中使用?

最佳答案

Swift 前端编译器会处理这个问题。

所以编译器分为前端和后端。

前端:负责词法分析、语法分析(解析)、语义分析

后端:优化、机器相关优化、代码生成。(有时分析和优化也称为中端)

在 Swift 编译器架构中,他们将词法分析器和语法分析器称为解析器。它构建了 AST(抽象语法树)。它用于知道什么属于哪里,AST 用于在我们输入错误时查找错误以及自动完成等。类似地,swift 扩展也是如此。

当我们构建或编译我们自己时,后端就会发挥作用。当我们谈论编译器时,我们通常所说的编译器。但在大多数 IDE 中,前端始终处于运行状态。

引用:https://swift.org/compiler-stdlib/#compiler-architecture

关于ios - 无需编译即可使用的扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50285233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com