Хорошо. Я использую Флаттер чуть больше года. Я использовал этот код почти во всех приложениях, и он работает. По некоторым причинам, это не работает в этом новом приложении, которое я создаю.
String testString(DocumentSnapshot doc, String val) {
try {
if (doc == null) {
return "error! DB not found!";
}
if (doc[val] == null) {
return "'" + val + "' doesn't exist in DB";
}
return doc[val];
} catch (e) {
return "Error: something went wrong";
}
}
Я также пробовал это:
String testUndString(DocumentSnapshot doc, String val) {
try {
return doc != null ? (doc[val] != null ? doc[val] : "undefined") : "undefined";
} catch (e) {
return "Error: something went wrong";
}
}
и это:
String testUndString(DocumentSnapshot doc, String val) {
try {
return doc.data != null ? (doc[val] != null ? doc[val] : "undefined") : "undefined";
} catch (e) {
return "Error: something went wrong";
}
}
После некоторого поиска похоже, что я сделал это правильно, но все равно возвращает ошибку:
NoSuchMethodError (NoSuchMethodError: The method '[]' was called on null.)