Digamos que defino una clase:
public class Data {
public var attrib1:Number=0.0;
public var attrib2:String="";
}
Luego, creo una instancia de la clase:
var data1:Data = Data {
attrib1: 1.2,
attrib2: "Mauricio"
} on replace {
println("{data1.attrib1} {data1.attrib2}");
};
data1.attrib2="Omar";
data1.attrib2="Veronica";
La salida de este ejemplo es:
1.2 Mauricio
Es decir, al asignar "Omar" o "Veronica" a attrib2, el bloque "on replace" de data1 no se dispara.
La única manera (que conozco) de evitar esto es asignar una nueva instancia del objeto a data1:
data1= Data { attrib1:data1.attrib1 attrib2:"Omar"};
Quizás haya alguna forma de declarar la variable con algún tipo de binding o algo por el estilo que permita detectar los cambios de variables dentro de una instancia.
Por ahora, vale la pena tener este detalle presente para evitar problemas y pérdidas de tiempo... si uno no lo sabe, puede no ser evidente que esa parte del código no se está ejecutando y hay un bug en el código.
No hay comentarios:
Publicar un comentario