Swift 中的可见性分离



由于 swift 不使用标头来指定其接口,而是使用访问修饰符,我想知道是否有一种好方法来拆分公共和私有方法(可能在文件、扩展名中或只是在视觉上)。我正在考虑Java式的声明FooInterfaceFooImpl的方式,但我不太喜欢这个想法。有没有更好的方法来实现这一目标?

最重要的是,我希望能够将所有公共成员放在一个位置,而将私人内容放在另一个位置 - 这有助于避免可见性错误。

我通常使用声明私有扩展的技术:

private extension MyClass {
}

我稍后在文件中执行此操作。但是,这仅适用于方法。属性仍需要在主类型定义中声明。

您可以将方法声明为私有方法:

private func doSomething() {
}

最新更新