class flutter SQFlite 中的实例变量初始化

Instance variable initialization inside a class flutter SQFlite

我正在尝试使用 SQFlite 包在我的 flutter 应用程序中实现持久存储。 在创建一个 class 来做同样的事情时,我对从存储中初始化数据库的部分感到困惑。这是初始化数据库变量的代码

_db = await db1._checkDB;

现在我的数据库 class 如下所述

class DB {
  static DB db1 = DB();
  Database? _db;
  String _tableName = 'images';

  get _checkDB async {
    if (_db != null)
      return _db;
    else {
      _db = await _openDB('images.db');
      return _db;
    }
  }
}

我的问题是为什么我不能使用下面的代码来初始化我的数据库

_db = await _checkDB();

当我使用上面的命令初始化我的数据库并从中读取时总是returns一个空值。

因为您没有 class 实例?

这样做:

DB database = new DB();
_db = await database.checkDB();