Inicialize variável de instância lenta com valor que depende de outras variáveis de instância
A inicialização a seguir atualmente produz esse erro na linha que chamagetEventCalendar
:
Não é possível usar o membro da instância 'getEventCalendar' no inicializador de propriedades; inicializadores de propriedades são executados antes que 'self' esteja disponível.
Existe alguma maneira adequada de inicializar olazy
variável de instância com um valor que depende de outro tipo de objetoinstance variables
doself
(não apenasself
sozinho)? Eu tenho, por exemplo tentou virargetEventCalendar
de um método para uma função, mas isso também não ajuda.
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? {
// ...
}
}