Swift中的可见度分离

Swift中的可见度分离,swift,Swift,由于swift不使用头来指定它的接口,而是使用访问修饰符,所以我想知道是否有一种很好的方法来拆分公共方法和私有方法(可能是在文件、扩展名中,或者只是在视觉上)。我正在考虑用Java风格的方式声明FooInterface和FooImpl,但我并不喜欢这个想法。有没有更好的方法来实现这一点 底线是,我希望所有公共成员都在一个位置,而私人成员在另一个位置——这有助于避免可见性错误。我通常使用声明私人扩展的技术: private extension MyClass { } 我稍后会在文件中这样做。然而

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


底线是,我希望所有公共成员都在一个位置,而私人成员在另一个位置——这有助于避免可见性错误。

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

private extension MyClass {
}

我稍后会在文件中这样做。然而,这只适用于方法。属性仍然需要在主类型定义中声明。

您只需将方法声明为私有:

private func doSomething() {

}

我认为你想得太多了。不要按可见性拆分类。按功能划分它们。可以使用类别将类拆分为逻辑部分。一旦你的类足够小,你就不会有可见性问题。。。我想把它和公共事务分开。