Метод был вызван при нулевой ошибке flutter Hive
Открытие коробки
var savedList;
Future initiateHive() async {
///Creating a HiveBox to Store data
savedList = await Hive.openBox('Musicbox');
}
Функция для размещения данных в улье
var songFav = SongPlayList()..songInfo = songs[currentIndex].id;
print(songs[currentIndex].id);
savedList.put(songs[currentIndex].id, songFav);
Ошибка
Возникло другое исключение: NoSuchMethodError: метод put был вызван для null.
1 ответ
Решение
Я думаю проблема в том, что
savedList.put(songs[currentIndex].id, songFav);
вызывается до завершения выполнения, так как
initiateHive()
асинхронный, поэтому
savedList
все еще ноль
вы можете сделать что-то вроде:
if (savedList != null){
savedList.put(songs[currentIndex].id, songFav);
}