gpt4 book ai didi

swift - 共享内部类/方法/等。 Swift 模块之间

转载 作者:行者123 更新时间:2023-11-30 10:51:07 27 4
gpt4 key购买 nike

我有 2 个 Swift 模块,我们称它们为模块“A”和模块“B”。我需要在这些模块之间共享一些代码,我们将此模块称为“核心”。

这些模块由客户应用程序使用。客户使用模块 A、模块 B 或两者,并且他们总是会获得“核心”的副本。模块“核心”包含由“A”和“B”使用并公开给客户的数据模型。但是,我希望“A”和“B”能够使用内部方法/类/等。在“核心”中,而不是将它们暴露给客户(也就是说,我不想将它们公开)。例如,我希望“A”和“B”能够创建我在“Core”中定义的数据模型的实例,但我不希望客户能够实例化它们。

简而言之,我希望模块“A”和“B”能够访问“Core”,就好像它是同一模块的一部分一样。我正在寻找相当于 C++ 中的“友元类”,但针对的是 Swift 中的模块。

当然,我可以将所有内容放入一个巨大的项目中,然后使用不同的构建目标来创建 A+Core、B+Core 和 A+B+Core 模块,但是一旦我们添加模块,这将导致组合爆炸C、D、E、F 等

这似乎是一种非常常见的组织代码的方法,但我似乎无法在 Swift 4 中找到一种方法来做到这一点。这里有没有人找到一种方法来做到这一点或另一种构建代码库的方法,以便私有(private)代码可以在模块之间共享吗?

最佳答案

C++ 中的友元类与模块无关。
此问题的正常解决方案是创建模块 C,并让 A 和 B 在内部使用它。

关于swift - 共享内部类/方法/等。 Swift 模块之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54515620/

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