启用空安全后,如何初始化一个空文件而不给它一个 flutter 路径

How can I initialize a empty file without giving it a path in flutter after null safety is enabled

我正在做一个项目,我要求用户从 his/her 设备 select 一个文件。在 flutter update 启用 null safety 之前,我的做法是初始化一个空文件,在用户选择文件后,空文件获得 selected 文件的路径。这是执行此操作的代码 -

File myfile;
Future<void> _takePicture() async {
    FilePickerResult? result =
        await FilePicker.platform.pickFiles(type: FileType.image);
    if (result != null) {
      PlatformFile file = result.files.first;
 setState(() {
        myFile = File(file.path.toString());  
      });

但是在我将 flutter 更新到 2.5.2 后,它开始报错,“不可为空的实例字段 'myFile' 必须初始化。”。我的 IDE 建议在初始化文件之前添加一个 late 修饰符,但在选择文件后,应用程序因此而崩溃。有没有办法解决? 请帮忙

如果您的变量 可以是 null,那么就让它可以为 null:

File? myfile;

Null-Safety 是一项很棒的功能,可让您在 cancannot 为 null 时更快、更有效地查看。但是有些变量 可以 为空。那完全没问题。所有 null 安全要求是您使用上面看到的问号声明它们。