#import "whatever.h"
......并不完美,但它对于诊断循环依赖性非常方便,更不用说强制执行模块化了。
你可以确定哪些课程了解其他课程 - 轻轻一按。
如果必须,您可以注释所有导入语句,并一次添加一个,以便诊断依赖性问题。它不一定快,但它很简单。
如果一个班级没有导入除强制性标题以外的任何内容,Son,那是你在那里的一个模块化课程!
如果你的项目有10个没有导入任何东西的类,那么你就知道它们是10个模块化的类 - 你不必将每个类打包到它自己的Framework或类似的东西中。简单。
但是现在,随着斯威夫特的“每个人都知道所有事情”的政策,似乎只是个人保持警惕以维持模块化。个人警惕是最糟糕的一种!
我错过了什么吗?有没有办法在Swift中轻松完成这些工作?
答案 0 :(得分:7)
如果您想模块化您的Swift代码,您应该使用 modules !
创建一个新模块非常简单。
点击此处的加号:
,为项目添加新目标
选择"框架&文库"适用于适当的平台(iOS / OS X):
选择" Cocoa Framework" (或Cocoa Touch,取决于平台)并单击下一步:
为您的模块命名并将语言更改为Swift(或将其保留为Objective-C,它不重要,您可以同时使用它们。)
将Swift文件添加到您的模块中:
在Swift文件中添加一些代码。请注意,Swift的默认访问级别为internal
,这意味着可以从模块中的任何位置访问它,但不能从模块外部访问它。我们要在模块外部使用的任何代码都必须具有public
访问级别。
public class ModularSwift {
public init(){}
public var foo: Int = 0
}
确保构建您的模块(Cmd + B):
返回原始目标,导入模块并开始使用其代码:
import MyModularSwiftCode
let foo = ModularSwift()
Xcode非常高兴:
现在,注释掉import
语句并注意错误: