class X: Interface1, Delegate1, Delegate2 {
var sharedVariable = true
.... very long code comes here, that implements the delegates ...
}
Как я могу сломать этот длинный класс? Я думал об использовании расширений, что-то вродеКак разбить класс, соответствующий нескольким интерфейсам с общими переменными экземпляра?
extension X: Delegate1 {
// .. some code here, uses sharedVariable
}
extension X:Delegate2 {
// and some here, also uses sharedVariable
}
Проблема с этим подходом является, что, поскольку оба расширения используют sharedVariable, нет особого смысла разбив его расширениям ... Или это? Что еще я могу с ним сделать?