我有一个类,我希望它是可重用的(对于任何想要它的开发人员用户,或者在我的项目之外)。这个类返回一个称为Struct
的structA
,这个类是classA
。
第一个想法是将structA
放在这个类的同一个文件中,因此当Struct
是公共的时,任何获得这个类文件的用户都可以读取这个类返回的Struct
。
在这之前它看起来是合理的。(或不)
但是,如果我当前项目中的其他类也需要将此Struct
用于其他目的,会发生什么情况?(副本)
然后为了使代码可重用,我需要把这个结构放到其他地方。
所谓可重用,我的意思是没有依赖关系——获取类文件,就这样。
如果它在classA
之外,那么classA
就不能被重用和依赖。
如果它在classA
内部,那么使用它的其他类也依赖(不能在外部重用)
剩下的唯一解决方案是用不同的名称创建其他类似的结构(听起来很糟糕)
你会把这个Struct
放在你的xcode项目的哪里?
最佳答案
将您的结构放在一个单独的文件中,并为您希望重用的依赖于此结构的每个类编写文档。所以基本上你也可以让你的结构重用。
重用类的过程变得有点困难——还必须包含它的依赖项。但这只是生活的一个事实,基本上所有的软件都有依赖性。为了便于添加一些代码依赖性管理,例如Cocoapods,Carthage或Swift Package Manager已经被发明出来。对于那些你为每个库指定它所依赖的-所以ClassA
依赖于StructA
。在要使用ClassA
的项目中,只指定依赖项,包管理器将其所有依赖项(及其依赖项等)安装在一起。