Sky24n/flustars

SpUtil.getBool('key', defValue: true) 判断好像有误

chenyanbin-dkhs opened this issue · 2 comments

if (SpUtil.getBool('key_test', defValue: true)) {
       SpUtil.putBool('key_test', false); //虽然设置成false ,但是下次还会执行进来
  }

看了下源码

 static bool getBool(String key, {bool defValue = false}) {
    if (_prefs == null) return defValue; 
    return _prefs.getBool(key) ?? defValue;  
  }

可能需要做以下修改

 static bool getBool(String key, {bool defValue = false}) {
    if (_prefs == null || _prefs.getBool(key) == null) return defValue; 
    return _prefs.getBool(key);
  }

A ?? B, ??的意思就是,前面A为null就使用B的值

你是对的,好像每次hot reload后,值就会被清空了。