Инициализируйте ленивую переменную экземпляра значением, которое зависит от других переменных экземпляра.

Следующая инициализация в настоящее время производит эту ошибку в строке, которая вызываетgetEventCalendar:

Невозможно использовать экземпляр экземпляра getEventCalendar в инициализаторе свойства; инициализаторы свойств запускаются до того, как станет доступным 'self'

Есть ли подходящий способ инициализацииlazy переменная экземпляра со значением, которое зависит от другого типа объектаinstance variables изself (не простоself в одиночестве) Я, например, попытался повернутьgetEventCalendar из метода в функцию, но это тоже не помогает.

class AbstractEventCalendarClient {

  let eventStore: EKEventStore
  let entityType: EKEntityType

  lazy var eventCalendar = getEventCalendar()

  init(eventStore: EKEventStore, entityType: EKEntityType) {
    self.eventStore = eventStore
    self.entityType = entityType
  }

  func getEventCalendar() -> EKCalendar? {
    // ...
  }
}

Ответы на вопрос(2)

Ваш ответ на вопрос