#flutter #class #dart #instantiation
Вопрос:
В начале моего приложения у меня есть глобальная переменная gameData
, которая объявлена и создана как:
GameData gameData = GameData();
Позже я хочу очистить gameData
переменную и повторно создать/сбросить переменную с помощью чистого экземпляра GameData
. Я делаю это, вызывая функцию:
void ResetGameData() {
gameData = new GameData();
}
Но это не очищает gameData
переменную. Все старые ценности остаются. Есть ли лучший способ сделать это?
Комментарии:
1. Это должно сработать. Можете ли вы привести минимальный, воспроизводимый пример?
Ответ №1:
Похоже, ваш подход должен сработать.
Если вы создаете свой пользовательский интерфейс на основе игровых данных, вам нужно будет вызвать setState() или notifyListeners (), чтобы все перестроить.
Ответ №2:
Проблема заключалась в том, что я создавал экземпляр класса внутри класса, и этот синтаксис был неверным, поэтому подкласс сохранял свои предыдущие данные. Остальная часть переменной была восстановлена правильно.