Pregunta

Así que sé AS3 no tiene punteros, pero pensé que podría ser una manera de variables de uso de objetos como punteros.

En este momento estoy confiando en que pasa a una función que tiene la función get, no es una solución muy elegante algo como esto:

myvar = function():int{return objectName.getVarValue};

La otra opción sería cambiar todo el que sufre y métodos set en funciones get y set, o añadir estos, además de. También podría crear una clase de vinculación que sólo almacena el nombre, pero que eso es sólo un dolor de cabeza más grande.

puede confirmar cualquiera para mí que en realidad no es una forma de obtener los valores actualizados de la variable de un objeto sin sin hacer nada más complicado que esto?


Hay básicamente tres partes implicadas, casi como un MVC. I un objeto es el controlador, que indica qué valor de la "vista" para ser emparejado con el que sea la clave de datos. La vista es un poco tonto, y también lo es que los datos / modelo, de manera que todo se hace a través del controlador y en una secuencia en la que estos eventos se superponen. Así que estoy delegando los datos de apropiación de la clave de datos, definiendo al principio todos los diferentes parámetros, y más tarde que sólo puede llamar a la actualización y seleccionar los datakeys y agarrar los datos. Ahora mismo tengo el constructor vinculado al valor a través de una función que estoy creando como esto

onUpdate:function():int{return objectName.getVarValue};

que es un poco más complejo que eso, pero esa es la esencia de la misma. En Flex que puede hacer el enlace de datos, pero eso es una cosa flex y no AS3, y no es exactamente un puntero tampoco.

Deseo AS3 solo podía hacer punteros, tal vez en as4? Pensé que podría ser una manera de recuperar el captador en función de que yo no sepa.

¿Fue útil?

Solución

Yo sólo pasaría el objeto en sí, ya que se comporta de referencia más como un puntero. Se puede cocinar sus propios datos de unión mediante las propiedades dinámicas. Cuando se desea conectar su visión para el modelo de datos, el controlador crea un enlace de al objeto de origen de datos de datos y el nombre de la propiedad que se unen en la fuente de datos y el nombre de la propiedad que se unen a la vista:

view.AddBinding(dataObjectName, "somePropertyOnObject", "propertyNameOnView");

Puede almacenar estos en algún tipo de clase Binding se crea, y en cada llamada a AddBinding, se agrega a una colección, probablemente, asegurándose de que no existen duplicados para un determinado "propertyNameOnView". Cuando tenga que responder a un evento de actualización de propiedad en el objeto de datos, se hace la asignación al igual que el siguiente, salvo que le agarra las cuerdas de su objeto de encuadernación, tal vez iteración a través de toda la colección de enlaces para llevar a cabo una actualización completa la vista:

this["propertyNameOnView"] = dataObjectName["somePropertyOnObject"];

Pero de la misma familia con un objeto de vinculación:

someBinding.DestinationObject[someBinding.DestinationProperty] = 
  someBinding.DataSource[someBinding.SourceProperty];

Usted podría incluso poner este código directamente en el objeto Binding verse expuesta a través de un método de actualización para que sólo se llama a Update () en la unión en particular, y trae los datos a partir de la propiedad del modelo de datos a la propiedad de su vista.

Esto es un poco de información sobre las propiedades dinámicas para que pueda empezar si usted no está familiarizado con ellos: http://www.colettas.org/?p=17

Otros consejos

¿Por qué no acaba de golpear el objeto para el valor? ¿Por qué la necesidad de almacenar en otra variable a menos que quieran un valor específico en un momento específico?

  

una manera de conseguir los valores actualizados de   variables de un objeto -Daniel

¡No es muy claro lo que busca lograr. Tal vez si se puede explicar por qué no se limita a hacer esto a sus exigencias?

myvar = return objectName.getVarValue;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top