Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Método find está com tipo de retorno correto?

Ainda não assisti as aulas futuras, mas nessa aula onde montamos o Data Access Object e ao final listamos alguns métodos futuros o professor criou o método find, que pelo que entendi iria buscar na nossa Lista de Tarefas e retornar uma tarefa específica utilizando como chave o nome da tarefa.

Porém como tipo de retorno o professor utilizou:

Future<List>

Entendo que aqui estaríamos retornando uma lista de tarefas, e não somente uma tarefa. Entendi errado?

O correto imagino que seria Future, não?

1 resposta
solução!

Olá, Bruno.

Tudo bem?

O método find() que o professor criou realmente tem como retorno Future<List<Task>>, o que significa que ele retornará uma lista de tarefas. Isso ocorre porque, em alguns casos, pode haver mais de uma tarefa com o mesmo nome no banco de dados, então o método retorna uma lista para garantir que todas as tarefas correspondentes sejam retornadas.

No entanto, se você tem certeza que o nome da tarefa será sempre único no seu banco de dados, você pode alterar o tipo de retorno para Future<Task>. Nesse caso, o método find() retornaria apenas a primeira tarefa que corresponde ao nome fornecido.

Aqui está um exemplo de como você poderia fazer isso:

Future<Task> find(String nomeDaTarefa) async {
  // código para buscar a tarefa no banco de dados
  // supondo que `tasks` seja a lista de tarefas retornadas do banco de dados
  if (tasks.isNotEmpty) {
    return tasks.first;
  } else {
    return null;
  }
}

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.