getObjectList<T> method

List<T>? getObjectList<T>(
  1. String key,
  2. T fromJson(
    1. Map<String, dynamic> json
    ), {
  3. List<T>? defValue = const [],
})

获取对象列表

Implementation

List<T>? getObjectList<T>(
  String key,
  T Function(Map<String, dynamic> json) fromJson, {
  List<T>? defValue = const [],
}) {
  try {
    final List<String>? encodedList = _prefs?.getStringList(key);
    if (encodedList == null || encodedList.isEmpty) return defValue;

    final List<T> decodedList = encodedList
        .map((str) => jsonUtil.fromJson<T>(str, fromJson))
        .whereType<T>()
        .toList();

    return decodedList;
  } catch (e, stackTrace) {
    logger.e("SpUtil error reading object list for key '$key': $e\n$stackTrace");
    return defValue;
  }
}