在哪里放置Struct来保持类独立?

时间:2018-11-24 06:19:35

标签: swift struct

我有一个想重用的类(对于需要它的任何开发人员用户,或在我的项目之外)。此类返回一个Struct,让我们称之为structA,该类为classA

首先想到的是将structA放入该类的同一文件中,因此尽管Struct是公开的,但获得该类文件的任何用户都可以阅读此文件类返回的Struct

直到这里看起来都很合理。 (或没有)

但是,如果当前项目中的其他类也需要将此Struct用于其他目的,会发生什么情况? (它的副本)

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

如果它位于classA之外,则classA变得不可重用并依赖。

如果它在classA内,则其他使用它的类也将依赖(不能在外部重用)

剩下的唯一解决方案是使用其他名称(听起来不好)创建类似这样的其他结构

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

2 个答案:

答案 0 :(得分:3)

对于要重用的每个类,请将其结构放在单独的文件和文档中,这取决于该结构。因此,基本上,您也可以使结构可重用。

重用您的课程的过程变得有点困难-您还必须包含它的依赖项。但这只是生活中的事实,基本上所有软件都具有依赖性。为了更轻松地添加一些代码依赖性管理,例如,发明了CocoapodsCarthageSwift Package Manager。对于为每个库指定的库,它们依赖于它们-因此ClassA取决于StructA。在您要使用ClassA的项目中,仅指定该依赖项,然后程序包管理器将其所有依赖项(及其依赖项等)一起安装。

答案 1 :(得分:1)

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

每当您要使用类classA或结构structA时,都可以将该库导入相应的文件中。

不建议重复代码。