8

对于有将 swift 添加到现有 Objective-C 代码库中的经验的开发人员的性能问题。

我的前提是:最终Bridging-Header.h可能会变得非常大(它可能最终包含所有 1.5k 现有的 Objective-C 类(提供或获取那些不会从 Swift 访问的类)),反之亦然PRODUCT-Swift.h生成的标头。

我担心编译性能可能会急剧下降:每次包含的任何.h类发生更改时,都必须重新编译所有.swift文件。

是这样吗?如果是这样,有没有办法优化性能?

澄清:假设您将整个项目类包含到.pch文件中,现在每个类更改都会触发整个项目的重新编译。是否与Bridging-Header.h工作方式相似?

4

1 回答 1

1

如果您期望头文件中有大量流失,我会推荐模块。通过将 Swift 代码拆分为模块,每个模块都有自己的桥接头,您应该可以显着减少 Swift 重建时间。如果不必考虑整个系统中的每个内部函数,您也可能会在 Swift 重建时间上得到改进。

模块似乎是 Swift 想要进行程序组织的地方。我并不是说它们还很强大。它们看起来仍然很乱。但它们可能是这项工作的最佳工具。好消息是,您应该能够在遇到问题时逐步迁移。您不应该一次对整个项目进行大量返工。我绝对不建议在第一天用完并创建 100 个不同的模块。只寻找一些可以很好地分割你的程序的大的。

于 2015-07-30T14:19:07.680 回答