Obejrzałem tutorial na temat szybkich podstaw i przeminął komentarz, że obserwatorzy nieruchomości nie mogą zostać dodani do leniwych nieruchomości, ale nie podano żadnego powodu. Dlaczego tak jest?Dlaczego nie można dodać obserwatorów właściwości do leniwych właściwości?
6
A
Odpowiedz
1
Dokumenty potwierdzają to ("Możesz dodać obserwatorów właściwości do wszystkich przechowywanych właściwości, które definiujesz, oprócz leniwych przechowywanych właściwości" (source)), ale nie zapewniają one uzasadnienia.
Przypuszczam, że obserwatorzy nieruchomości muszą mieć dostęp do nieruchomości, którą obserwują, aby dołączyć się jako obserwator, chociaż nie "czują się" tak, jak ty. Ponownie, to tylko przypuszczenie, ale jeśli mam rację, to oczywiście posiadanie leniwej własności jest nieistotne. Właściwości lazy są obliczane przy pierwszym dostępie i jeśli użycie obserwatora uzyskuje dostęp do tej właściwości, to zostanie obliczone natychmiast, co całkowicie zniszczy jej cel.
Powiązane problemy
- 1. Nie można dodać właściwości obiektu js
- 2. Dlaczego nie mogę dodać zestawu accessor do właściwości overriden?
- 3. Nie można przypisać do nieistniejącej właściwości
- 4. angularjs dodać wartość Nie można ustawić właściwości „id” o nieokreślonej
- 5. nhibernate, nie można rozwiązać właściwości
- 6. Dlaczego MongoDB nie zapisuje moich właściwości
- 7. Jak dodać atrybuty do właściwości klasy bazowej
- 8. Nie można zmienić właściwości backgroundView na UICollectionView
- 9. ember.js: Zwijanie/odroczenie drogich obserwatorów lub obliczone właściwości
- 10. Błąd Ecma: TypeError: Nie można wywołać właściwości
- 11. Nie można odczytać właściwości "wybór" niezdefiniowanej
- 12. Nie można ustawić właściwości ... z undefined --- bizarre
- 13. Nie można ustawić właściwości niezdefiniowanego członka
- 14. Czy można rozszerzyć właściwości HttpContext.Current.User.Identity
- 15. Nie można uzyskać dostępu do właściwości selektora CSS z JavaScriptu
- 16. Dlaczego funkcja UINavigationController nie ma właściwości rootViewController?
- 17. Uncaught TypeError: Nie można przypisać do właściwości tylko do odczytu.
- 18. Chrome dev - Nie można przypisać do właściwości tylko do odczytu
- 19. Dlaczego właściwości nie są deklarowane w interfejsach
- 20. Dlaczego komórki numeryczne nie mają właściwości .Characters()?
- 21. Nie można odnaleźć właściwości obiektu klasy forward?
- 22. Nie można odczytać właściwości "góry" nieokreślonej.
- 23. .NET Reflection: Nie można pobrać właściwości dynamicznych
- 24. Nie można odczytać właściwości 'etykiety' nieokreślonej
- 25. Nie można odczytać właściwości "bind" niezdefiniowanej. React.js
- 26. reactjs Nie można odczytać właściwości 'kluczy' nieokreślonego
- 27. Nie można zastosować publikowania właściwości elementu X
- 28. nie można utworzyć właściwości "znacznik" na łańcuchu
- 29. Nie można ustawić właściwości 'display' z undefined
- 30. Nie można odczytać właściwości "pushState" o niezdefiniowanym
Mechanizm obserwatora właściwości w Swift jest całkowicie odrębny i różni się od obserwacji KVO. – zneak
@zneak, tak, myślałem, że jasno to wyjaśniłem, usunę ten przykład, aby wyeliminować jakiekolwiek zamieszanie. – Firo