将我的结构放在哪里以保持类独立?

问题描述 投票:0回答:2

我有一个我希望可重用的类(对于任何需要它的开发人员用户,或在我的项目之外)。这个类返回一个

Struct
,我们称之为
structA
,类是
classA

第一个想法是将

structA
放入此类的同一个file中,因此当
Struct
是公共的时,任何获得该类文件的用户都可以读取该类返回的
Struct

到目前为止,它看起来合理(或不合理)。

但是,如果我当前项目中的其他类也需要将此

Struct
用于其他目的,会发生什么情况? (副本)

然后为了使代码可重用,我需要将此结构放在其他地方。我所说的可重用是指没有依赖关系——获取类文件就是这样。

如果它在

classA
之外,那么
classA
将变得不可重用并且具有依赖性。

如果它在内部

classA
,那么使用它的其他类也是依赖的(不能在外部重用)

剩下的唯一解决方案是创建其他像这样具有不同名称的结构(听起来很糟糕)。

您会将这个

Struct
放在 Xcode 项目中的什么位置?

swift struct
2个回答
3
投票

将您的结构放在单独的文件和文档中,为您想要重用的每个类(它依赖于该结构)。所以基本上你的结构也可以重用。

重用类的过程变得有点困难 - 你还必须包含它的依赖项。但这只是生活的事实,基本上所有软件都具有依赖性。为了更容易添加一些代码依赖管理,例如 CocoapodsCarthageSwift Package Manager 已经被发明。您可以为每个库指定它所依赖的内容 - 因此

ClassA
取决于
StructA
。在您想要使用
ClassA
的项目中,您仅指定该依赖项,包管理器会将其所有依赖项(及其依赖项等)一起安装。


1
投票

您可以创建一个单独的库或框架,其中包含所有可重用的类和结构。

每当您想使用类

classA
或结构
structA
时,您只需将该库导入到相应的文件中即可。

不建议重复代码。

© www.soinside.com 2019 - 2024. All rights reserved.