Как законформить протокол с одинаковыми именами переменных?

У меня есть структура

public struct Foo {
  public private(set) var foo: String?
  public private(set) var foo2: String?
}

И протокол

public protocol FooProtocol {
  var foo: String
  var foo2: String
}

и мне нужно чтобы моя структура Foo конформила протокол FooProtocol

extension Foo: FooProtocol {
  var foo: String {
    foo ?? ""
  }

  var foo2: String {
    foo2 ?? ""
  }
}

Ну и компилятор говорит Attempting to access 'foo' within its own getter, то есть ссылаемся переменной на саму себя. Что делать не понимаю, помогите, пожалуйста.


Ответы (0 шт):