null ckeck 运算符中的颤振未处理异常

时间:2021-06-13 08:31:39

标签: flutter dart-null-safety

我在我的 futter 应用程序中使用一个非常简单的类作为 SharedPrefs 处理程序,

class SharedPrefsHandler {
  SharedPreferences? _sharedPrefs;

  SharedPrefsHandler() {
    _sharedPrefs ?? _getSharedPrefs();
  }

  Future<void> _getSharedPrefs() async {
    _sharedPrefs = await SharedPreferences.getInstance();
  }

  Future<bool> saveStringToPrefs(String key, String value) {
    print(" -- saveStringToPrefs --> Key: $key, Value: $value");
    return _sharedPrefs!.setString(key, value);
  }

}

我正在使用 get_it 包实例化它,就在我的应用开始时,在 main.dart 上。

我一直在搞这个烦人的错误,我不确定我是否在这里做错了什么......

[ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Null check operator used on a null value

我的 flutter doctor 显示我在稳定频道上:

Flutter(通道稳定,2.2.2,Mac OS X .....

1 个答案:

答案 0 :(得分:0)

_sharedPrefs ?? _getSharedPrefs();

应该

_sharedPrefs ??= _getSharedPrefs();