我有一个想重用的类(对于需要它的任何开发人员用户,或在我的项目之外)。此类返回一个Struct
,让我们称之为structA
,该类为classA
。
首先想到的是将structA
放入该类的同一文件中,因此尽管Struct
是公开的,但获得该类文件的任何用户都可以阅读此文件类返回的Struct
。
直到这里看起来都很合理。 (或没有)
但是,如果当前项目中的其他类也需要将此Struct
用于其他目的,会发生什么情况? (它的副本)
然后使代码可重用,我需要将此结构放在其他地方。 可重用的意思是没有依赖关系-获取类文件就是这样。
如果它位于classA
之外,则classA
变得不可重用并依赖。
如果它在classA
内,则其他使用它的类也将依赖(不能在外部重用)
剩下的唯一解决方案是使用其他名称(听起来不好)创建类似这样的其他结构
将此Struct
放在Xcode项目的什么位置?
答案 0 :(得分:3)
对于要重用的每个类,请将其结构放在单独的文件和文档中,这取决于该结构。因此,基本上,您也可以使结构可重用。
重用您的课程的过程变得有点困难-您还必须包含它的依赖项。但这只是生活中的事实,基本上所有软件都具有依赖性。为了更轻松地添加一些代码依赖性管理,例如,发明了Cocoapods,Carthage或Swift Package Manager。对于为每个库指定的库,它们依赖于它们-因此ClassA
取决于StructA
。在您要使用ClassA
的项目中,仅指定该依赖项,然后程序包管理器将其所有依赖项(及其依赖项等)一起安装。
答案 1 :(得分:1)
您可以创建一个单独的库或框架,其中将包含所有可重用的类和结构。
每当您要使用类classA
或结构structA
时,都可以将该库导入相应的文件中。
不建议重复代码。