Использовать исходную переменную класса в расширении, соответствующем протоколу

У меня есть ситуация, когда я хочу иметь возможность использовать существующее поле из класса, чтобы удовлетворить расширение класса, который определяет протокол. Что-то вроде этого:

class SomeThing {
    var foo: String
}

protocol MyProtocol {
    var foo: String { get }
    func someOtherMethod()
}

extension SomeThing: MyProtocol {
    func someOtherMethod() {
    }
}

Но компилятор выбрасывает ошибки в файл, который определяет расширение, что SomeThing не полностью соответствует протоколу. Есть ли способ заставить эту работу так, чтобы расширение просто захватывало значение исходного объекта?

0 ответов

Другие вопросы по тегам