EDITADO(1): Atualizei o exemplo para permitir o uso de @willSet()
e @didSet()
em sequência
EDITADO(2): Atualizei o exemplo para invocar @willSet
das superclasses depois e @didSet
das superclasses antes
EDITADO(3): Agora foi
Achei no Github uma lib bem interessante, chamada classy, para observar mutações em propriedades de forma similar à linguagem Swift usando decorators. Ela é mais abrangente, fornecendo os decorators @classy
para a classe e @property
para as propriedades, com a possibilidade de definir get
e set
também. Eu queria algo mais simples, sem a necessidade de decorar a classe, sem get
e set
e usando diretamente os decorators @willSet
e @didSet
. O link com o código e exemplos está aqui
Esse recurso é útil quando a propriedade não precisa ser computada mas tem efeitos colaterais. Isso evita a necessidade de criar um setter
para os efeitos colaterais e uma propriedade armazenada de nome similar que será atribuída pelo setter
antes de manipular os efeitos colaterais.
Top comments (0)