由于 swift 不使用标头来指定其接口,而是使用访问修饰符,我想知道是否有一种好方法来拆分公共和私有方法(可能在文件、扩展名中或只是在视觉上)。我正在考虑Java式的声明FooInterface
和FooImpl
的方式,但我不太喜欢这个想法。有没有更好的方法来实现这一目标?
最重要的是,我希望能够将所有公共成员放在一个位置,而将私人内容放在另一个位置 - 这有助于避免可见性错误。
我通常使用声明私有扩展的技术:
private extension MyClass {
}
我稍后在文件中执行此操作。但是,这仅适用于方法。属性仍需要在主类型定义中声明。
您可以将方法声明为私有方法:
private func doSomething() {
}