Следующая инициализация в настоящее время производит эту ошибку в строке, которая вызывает getEventCalendar
:Инициализировать ленивым переменную экземпляра со значением, которое зависит от других переменных экземпляра
Невозможно использовать экземпляр элемента «getEventCalendar» в свойстве инициализаторе; Инициализаторы свойств запускаются до «Я».
Есть ли подходящий способ для инициализации переменной экземпляра lazy
со значением, которое зависит от другого объекта типа instance variables
из self
(а не только self
alone)? Я, например. попытался превратить 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? {
// ...
}
}
Связанный: http://stackoverflow.com/questions/38118429/swift-lazy-instantiating-using-self. –