首页 > 解决方案 > 启用空安全后,如何初始化一个空文件而不给它一个颤振的路径

问题描述

我正在做一个项目,我要求用户从他/她的设备中选择一个文件。在更新颤振以启用空安全之前我这样做的方式是我将初始化一个空文件,并且在用户选择文件之后,空文件获得所选文件的路径。这是执行此操作的代码 -

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 建议在初始化文件之前添加一个后期修饰符,但是在选择文件之后,应用程序会因此而崩溃。有没有办法解决?请帮忙

标签: flutterdartdart-null-safety

解决方案


如果您的变量可以为空,则只需使其可为空:

File? myfile;

Null-Safety 是一项很棒的功能,可以让您在某些内容可以不能为空时更快、更有效地查看。但有些变量可以为空。这完全没问题。所有空安全性要求是您使用如上所示的问号声明它们。


推荐阅读