L'initialisation suivante produit actuellement cette erreur dans la ligne qui appelle getEventCalendar
:Initialiser variable d'instance paresseuse avec une valeur qui dépend d'autres variables d'instance
Impossible d'utiliser membre d'instance « getEventCalendar » au sein de la propriété initialiseur; Les initialiseurs de propriétés sont exécutés avant que 'self' soit disponible.
Y at-il moyen approprié pour initialiser la variable d'instance lazy
avec une valeur qui dépend de l'autre type d'objet instance variables
de self
(pas seulement self
alone)? J'ai par exemple essayé de transformer getEventCalendar
d'une méthode dans une fonction, mais cela n'aide pas non plus.
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? {
// ...
}
}
connexes: http://stackoverflow.com/questions/38118429/swift-lazy-instantiating-using-self. –