Инициализируйте ленивую переменную экземпляра значением, которое зависит от других переменных экземпляра.
Следующая инициализация в настоящее время производит эту ошибку в строке, которая вызывает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? {
// ...
}
}