class X: Interface1, Delegate1, Delegate2 {
var sharedVariable = true
.... very long code comes here, that implements the delegates ...
}
我现在怎样才能分解这个漫长的类(class)呢?我正在考虑使用扩展,例如
extension X: Delegate1 {
// .. some code here, uses sharedVariable
}
extension X:Delegate2 {
// and some here, also uses sharedVariable
}
这种方法的问题是,由于两个扩展都使用共享变量,因此将其分解为扩展没有多大用处...... 或者是吗?我还能用它做什么?
最佳答案
这取决于其余代码的结构。将代码分解为扩展的一个很好的理由是在适当的范围和/或上下文中提供每个扩展。在极端情况下,可以将类型仅实现为数据,并根据各种上下文和范围所需的观点提供所有函数和计算属性作为扩展。
关于swift - 如何分解一个符合具有共享实例变量的多个接口(interface)的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35085625/