首页 > 解决方案 > 必须初始化不可为空的实例字段“taskTitle”

问题描述

我是 Flutter 开发的新手,在我的代码中为什么会出现此错误(taskTitle必须初始化不可为空的实例字段),尽管在构造函数中初始化了实例字段

所以,我假设每当创建这个类实例时,用户都需要提供两个成员,所以这个错误不应该发生(尽管如果添加了后期修饰符,这个错误就会消失)。

请解开我的疑惑。

class Task {
  String taskTitle;
  bool isDone = false;

  Task(String taskTitle, bool isDone) {
    this.taskTitle = taskTitle;
    this.isDone = isDone;
  }
}

标签: flutterdartdart-null-safety

解决方案


您正在使用dart null safety环境,为此,您必须将变量声明为taskTitle变量,nullable如果它可以通过定义为空:

String? taskTitle;

或者如果它不为空,那么你可以说:

late String taskTitle;

这意味着稍后您将初始化taskTitle变量并且它不会为空。


推荐阅读