1
resposta

Failed assertion: line 70 pos 12: '_messages.containsKey(key)': is not true.

Quando rodo o código ta aparecendo esse erro tanto no log quanto na tela vermelha do app.

Ja comparei o código com o da aula e aparentemente ta igual

class I18NMessages {
  final Map<String, String> _messages;
  I18NMessages(this._messages);

  String get(String key) {
    assert(key != null);
    assert(_messages.containsKey(key));
    return _messages[key]!;
  }
}

O problema é nessa classe da aba Localization

1 resposta

Olá, Eliander! Tudo bem?

Peço desculpas pela demora em te dar um retorno.

Esse erro pode estar acontecendo por passar um valor nulo ou vazio para a função messages.get(), pois como o erro mesmo nos mostra, ele tenta verificar se há uma chave (key) e o retorno disso não é verdadeiro, é falso.

Na sua classe DashboardViewLazyI18N, tente verificar as funções messages.get() estão recebendo seus devidos valores, ela deve estar assim nesse ponto da aula:

class DashboardViewLazyI18N {
  final I18NMessages messages;
  DashboardViewLazyI18N(this.messages);

  String? get transfer => messages.get("transfer");

  String? get transactionFeed => messages.get("transaction_feed");

  String? get changeName => messages.get("change_name");
}

Espero que isso ajude de alguma forma, bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado. ✓

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software