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.

Flutter: ¿Cómo convertir List a List? Tipo de evento

Intento persistir un tipo de dato Event en mi proyecto

loadEventList() async {
  await _init();
  final _ev = _prefs.getStringList('eventList');
  List<event> listToEvent = _ev as List<event>;
  return _events = listToEvent;
}

Tengo este error:

[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: type 'List<string>' is not a subtype of type 'List<event>' in type cast

¿Alguien puede ayudarme a encontrar una forma de convertir mi lista en una lista de eventos?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para convertir una lista de cadenas a una lista de Eventos, necesitarás crear una función de mapeo para convertir cada cadena en su objeto Evento correspondiente utilizando las propiedades necesarias (por ejemplo, título del evento, fecha, etc.). Aquí tienes un ejemplo de cómo puedes modificar tu código para realizar esta conversión:

    Dócil
    cargarListaEventos() async {
    await _init();
    final _ev = _prefs.getStringList('eventList');
    List<evento> listaEvento = _ev.map((cadenaEvento) => Evento.fromJson(jsonDecode(cadenaEvento))).toList();
    return _eventos = listaEvento;
    }

    En este código, la función map se utiliza para transformar cada cadena en _ev en un objeto Evento. La conversión se realiza utilizando el constructor fromJson de la clase Evento, que debería recibir como argumento la representación JSON decodificada del evento. Finalmente, se utiliza la función toList para convertir el Iterable resultante de nuevo en una Lista.

Comments are closed.