es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo obtener el valor del mapa de Flutter mediante llamada por valor.

Estoy desarrollando una aplicación de películas utilizando TMDB.

Se necesitan un total de 3 piezas de datos para crear un sistema de reservaciones.

1.Índice de la lista de películas

2.Índice de la fecha

3.Estado del asiento

He estado tratando de procesar esto como un mapa.

//Estado total del asiento 200 asientos
List<bool> _asientos = [];
for(int nIndex=0; nIndex<200; nIndex++){
      _asientos.add(false);
    }

//Índice de la fecha (total 7 días) + Estado del asiento
Map _fecha = Map();
for(int nIndex=0; nIndex<7; nIndex++){
      _fecha[nIndex] = _asientos.toList();
    }

//Índice de lista de películas TMDB
Map _pelicula = Map();
for(int nIndex=0; nIndex<listadepeliculas.length; nindex++){
        _pelicula[nindex] = _fecha;
    }

el valor se ingresa normalmente como quiero.

sin embargo, cuando cambia un dato de asiento, se cambian todos los datos de asiento en el mapa.

me di cuenta de que esto se debe a que las referencias de mapas y listas se ingresan.

¿sabe cómo obtener un valor mediante una llamada por valor en lugar de una llamada por referencia?

asientos = list.filled(200, false, growable: true);
fecha = list.generate(7, () => list.from(asientos));
pelicula = list.generate(longitud, (
) => list.from(fecha));

mi código era así.

por ejemplo

pelicula[0][0][0] = false; // cambiar valor
print(pelicula[0][0][0]); // resultado false
print(pelicula[1][0][0]); // resultado false

de esta manera, los valores cambian juntos. nindex++){=”” _pelicula[nindex]=”_fecha;” }=”” ="" el="" valor="" se="" ingresa="" normalmente="" como="" quiero.="" sin="" embargo,="" cuando="" cambia="" un="" dato="" de="" asiento,="" se="" cambian="" todos="" los="" datos="" de="" asiento="" en="" el="" mapa.="" me="" di="" cuenta="" de="" que="" esto="" se="" debe="" a="" que="" las="" referencias="" de="" mapas="" y="" listas="" se="" ingresan.="" ¿sabe="" cómo="" obtener="" un="" valor="" mediante="" una="" llamada="" por="" valor="" en="" lugar="" de="" una="" llamada="" por="" referencia?="" asientos="List.filled(200," false,="" growable:="" true);="" fecha="List.generate(7," (_)="&gt;" list.from(asientos));="" pelicula="List.generate(longitud," (_)="&gt;" list.from(fecha));="" mi="" código="" era="" así.="" por="" ejemplo="" pelicula[0][0][0]="false;" cambiar="" valor="" print(pelicula[0][0][0]);="" resultado="" false="" print(pelicula[1][0][0]);="" resultado="" false="" de="" esta="" manera,="" los="" valores="" cambian=""></listadepeliculas.length; nindex++){
_pelicula[nindex] = _fecha;
}

el valor se ingresa normalmente como quiero.

sin embargo, cuando cambia un dato de asiento, se cambian todos los datos de asiento en el mapa.

me di cuenta de que esto se debe a que las referencias de mapas y listas se ingresan.

¿sabe cómo obtener un valor mediante una llamada por valor en lugar de una llamada por referencia?

asientos = list.filled(200, false, growable: true);
fecha = list.generate(7, () => list.from(asientos));
pelicula = list.generate(longitud, (
) => list.from(fecha));

mi código era así.

por ejemplo

pelicula[0][0][0] = false; // cambiar valor
print(pelicula[0][0][0]); // resultado false
print(pelicula[1][0][0]); // resultado false

de esta manera, los valores cambian juntos.>

Tags:  , , ,

Answer

Comments are closed.