Flutter에서 viewModel 사용 시, 화면전환을 빠르게 한다면, 화면을 다 그리지 않은 상태에서 다시 그릴 때, dipose오류가 발생한다.
그렇기 때문에 dipose() 메서드를 재정의 하여 화면을 다 그렸다는 것을 알려줘야 된다.
Exception has occurred.
FlutterError (A ViewModel was used after being disposed.
Once you have called dispose() on a ViewModel, it can no longer be used.)
class viewModel with ChangeNotifier{
bool _disposed = false;
@override
void dispose() {
_disposed = true;
super.dispose();
}
@override
notifyListeners() {
if (!_disposed) {
super.notifyListeners();
}
}
}