getData<T> static method

T getData<T>(
  1. String key, {
  2. T? defValue,
})

获取缓存数据,只能获取常规类型,如需要获取复杂类型,使用自定义获取缓存结构类型的方法。

defValue 自定获取key时的默认值,当为空null时,会返回你自定义的默认值

Implementation

static T getData<T>(String key, {T? defValue}) {
  T resData;
  switch (T) {
    case String:
      resData = (_prefs?.getString(key) ?? defValue) as T;
      break;
    case bool:
      resData = (_prefs?.getBool(key) ?? defValue) as T;
      break;
    case int:
      resData = (_prefs?.getInt(key) ?? defValue) as T;
      break;
    case double:
      resData = (_prefs?.getDouble(key) ?? defValue) as T;
      break;
    case List:
      resData = (_prefs?.getStringList(key) ?? defValue) as T;
      break;
    default:
      resData = getDynamic(key, defValue: defValue) as T;
  }
  return resData;
}