¿Es posible borrar un Flex flash.utils.Dictionary
? Tengo un Dictionary
que quiero borrar (eliminar todos los elementos).Borrar un diccionario de ActionScript Flex
Respuesta
No creo que haya un comando claro explícito.
Sin embargo, se podría escribir su propio que sería bucle a través de todas las llaves y ejecutar este
delete dict[key];
o simplemente puede reasignar
dict = new Dictionary()
I que esto va a funcionar, pero yo No estoy 100% seguro, ya que está modificando el diccionario mientras lo itera:
function clear(d:Dictionary):void {
for(var id:* in d) {
delete d[id];
}
}
Sin embargo, generalmente solo creo un nuevo diccionario cada vez que necesito borrar uno (aunque si se hace referencia en varios lugares, puede que eso no funcione para usted).
+1 funciona. lo probé corriendo dos veces, estaba vacío después de la primera ejecución. –
El código anterior tiene un defecto: 'id' debe ser de NO tipo, ya que un diccionario puede contener cualquier tipo de objeto como referencia clave y no solo una cadena como los objetos dinámicos. ¡El código de arriba SÓLO borrará las referencias de cadena! –
Edité la respuesta para arreglar el defecto. id ahora está sin tipo (*), por lo que puede tomar cualquier tipo y borrar todas las claves posibles. Cuando se tipeó como una cadena, id solo borraba las claves de cadena; además, no se generan errores, y id no es nulo para las claves que no son cadenas, simplemente se omiten durante la iteración. Entonces, id debe estar sin tipo para iterar sobre todas las claves posibles. – Triynko
No solo necesita asegurarse de que la clave sea del tipo object o * necesite obtener primero las claves y luego eliminarlas del diccionario. De lo contrario, terminará dejando una tecla en el diccionario (la última).
Recuerdo que el código anterior funcionaba antes pero recientemente ha cambiado con la última iteración de Flash Player.
Este código asegurará que se eliminen todos, incluido el último.
//Clean up the dictionary
var keys:Array = [];
var key:*;
for (var key:* in dictionary)
keys.push(key);
for each (var key:* in keys)
delete dictionary[ key ];
Para eliminar todos los elementos en el diccionario, bucle a través de cada tecla y utilizar la palabra clave de eliminación
function clear(dict:Dictionary):void
{
for(var key:Object in dict)
{
delete dict[key];
}
}
Si quieres estar 100% seguro de que sus claves eliminadas se recogen basura, usted debe reemplace su instancia de Diccionario con un nuevo Diccionario.
dict = new Dictionary();
Una vez tuve un objeto de diccionario con 3 millones de cadenas como claves. Esas cadenas solo serían basura recolectada cuando la instancia del diccionario en sí.
Justo:
dictionary = new Dictionary()
public static function clear(dict:Dictionary):void {
var key:*
for(key in dict) {
delete dict[key];
}
}
utilizar la función anterior como una función de utilidad y se puede utilizar a lo largo de su base de código.
- 1. es flex actionscript?
- 2. ¿Cómo borrar un diccionario?
- 3. HTML Codificar en Flex/ActionScript
- 4. Desventajas de un proyecto Flex vs un proyecto Actionscript?
- 5. ¿Es el diccionario ActionScript 3 un hashmap?
- 6. ActionScript flex: Conversión de # colores a uint
- 7. Actionscript 3 fuera de Flash/Flex
- 8. Ampliación de matriz en Actionscript 3 (Flex)
- 9. Obtener tamaño de diccionario de ActionScript 3
- 10. ¿Se ha solicitado() para invocar un constructor Flex ActionScript?
- 11. Orden de manejo de eventos de Adobe Flex/Actionscript
- 12. Flex: implementando la función clásica de curry en actionscript?
- 13. Calculando la longitud del diccionario en Flex
- 14. Conseguir que VIM sea eficiente en Actionscript como Flex
- 15. Cálculo del ancho del texto en ActionScript y Flex
- 16. Ofuscación de Flex/Air
- 17. ¿Hay alguna manera de imprimir un proyecto de ActionScript 3 (Flex/AIR) a la salida estándar?
- 18. contenedor de diccionario/mapa/árbol/hash adecuado en Flex
- 19. Cómo transmitir video en vivo a través de un socket usando Flex/ActionScript 3?
- 20. Crear un botón con un ícono en actionscript
- 21. ¿Mejores prácticas de Flex?
- 22. Colecciones en Adobe Flex
- 23. ¿Diferencia entre un objeto y un diccionario?
- 24. Preguntas de la entrevista para el programador de ActionScript 3/Flex
- 25. desarrollo actionscript en mac
- 26. Pruebas unitarias en flex
- 27. Alternative to Flex Framework
- 28. ¿Cómo funciona [RemoteClass] en Flex Actionscript ¿puedo usarlo para el enlace de datos personalizado?
- 29. Hilos en Flash y Flex
- 30. borrar clave, pares de valores de un diccionario dada una lista de claves para eliminar
Mi objetivo fue reutilizar el 'Diccionario' en lugar de crear uno nuevo. –