Ho guardato un tutorial sulle basi rapide e un commento di passaggio è stato fatto che gli osservatori di proprietà non possono essere aggiunti a proprietà pigri, ma non è stata fornita alcuna motivazione. Perché è così?Perché gli osservatori delle proprietà non possono essere aggiunti alle proprietà lazy?
6
A
risposta
1
I documenti lo confermano ("È possibile aggiungere osservatori di proprietà a qualsiasi proprietà memorizzata definita, a parte le proprietà di archiviazione lazy" (source) ma non forniscono una motivazione.
Direi che gli osservatori di proprietà devono accedere alla proprietà che stanno osservando per attaccarsi come osservatore, anche se non "sentono" come voi. Ancora una volta, questa è solo un'ipotesi, ma se ho ragione, ovviamente avere una proprietà pigra è irrilevante. Le proprietà pigri vengono calcolate al primo accesso e se l'utilizzo di un osservatore accede a tale proprietà, verrà immediatamente calcolato, il che ne vanifica completamente lo scopo.
Problemi correlati
- 1. Perché le proprietà non possono essere in sola lettura?
- 2. Proprietà F # rispetto alle proprietà C#
- 3. Kotlin lazy proprietà predefinita
- 4. proprietà virtuali e caricamento lazy
- 5. Lazy proprietà readonly in swift
- 6. Utilizzando osservatori di proprietà su NSManaged vars
- 7. Tracciamento delle chiamate alle proprietà implementate automaticamente
- 8. Perché preferire le proprietà alle variabili pubbliche?
- 9. Osservazione delle modifiche alle proprietà animate in un CALayer
- 10. Sottoclasse CALayer che non si anima alle modifiche delle proprietà
- 11. Quando dovrei rimuovere gli osservatori? Errore nel deallocare gli oggetti prima di rimuovere gli osservatori
- 12. Gli IBOutlet dovrebbero essere ivar o proprietà?
- 13. non possono definire statico proprietà stringa astratto
- 14. Perché gli elementi devono essere continuamente aggiunti alle raccolte di proprietà GeometryModel3D che sono già state calcolate per il rendering in modo che si verifichi?
- 15. Gli elementi HTML aggiunti dinamicamente non possono essere trovati usando jQuery
- 16. Le proprietà del modello possono essere visualizzate in un modello
- 17. I moduli possono avere proprietà?
- 18. Accesso alle variabili Maven Pom dal file delle proprietà
- 19. JavaScript: proprietà non numerabili: quando e perché?
- 20. Passare alle proprietà in Backbone
- 21. Inizializzazione di proprietà Lazy in Swift
- 22. Interrogazione delle proprietà non mappate in nibernato
- 23. Perché alcuni array possono essere pubblicati ma non altri?
- 24. Utilizzo degli osservatori delle modifiche per osservare le proprietà native in Object.observe()
- 25. L'utilizzo di proprietà @lazy nelle funzioni causa errori di compilazione
- 26. È possibile limitare gli attributi alla classe o alle proprietà?
- 27. Perché sto ricevendo "'Le operazioni di aggregazione possono essere utilizzate solo su proprietà RLMArray'"?
- 28. Nuovi attributi delle proprietà ARC
- 29. YouTubePlayerSupportFragment visualizzazioni possono essere aggiunti sulla parte superiore del lettore
- 30. forzare l'accesso alle proprietà dell'oggetto __PHP_Incomplete_Class
Il meccanismo di osservazione della proprietà in Swift è completamente separato e diverso dall'osservazione KVO. – zneak
@zneak, sì, pensavo di averlo chiarito, rimuoverò quell'esempio per eliminare ogni confusione. – Firo