Повторно создайте экземпляр переменной класса в Dart / Flutter

#flutter #class #dart #instantiation

Вопрос:

В начале моего приложения у меня есть глобальная переменная gameData , которая объявлена и создана как:

 GameData gameData = GameData();
 

Позже я хочу очистить gameData переменную и повторно создать/сбросить переменную с помощью чистого экземпляра GameData . Я делаю это, вызывая функцию:

 void ResetGameData() {
  gameData = new GameData();
} 
 

Но это не очищает gameData переменную. Все старые ценности остаются. Есть ли лучший способ сделать это?

Комментарии:

1. Это должно сработать. Можете ли вы привести минимальный, воспроизводимый пример?

Ответ №1:

Похоже, ваш подход должен сработать.

Если вы создаете свой пользовательский интерфейс на основе игровых данных, вам нужно будет вызвать setState() или notifyListeners (), чтобы все перестроить.

Ответ №2:

Проблема заключалась в том, что я создавал экземпляр класса внутри класса, и этот синтаксис был неверным, поэтому подкласс сохранял свои предыдущие данные. Остальная часть переменной была восстановлена правильно.