flutter - 必须初始化不可为空的实例字段“buttonStartingYpoint”
问题描述
这是我的模型课。我正在尝试获取 http 响应并将其打印到我的应用程序中。
在第 12 行 DataModel 它向我显示了这个错误
“必须初始化不可为空的实例字段‘buttonStartingYpoint’。尝试添加初始化表达式,或在此构造函数中添加字段初始化,或将其标记为‘延迟’。”
必须初始化不可为空的实例字段“buttonHeight”。尝试添加初始化表达式,或在此构造函数中添加字段初始化程序,或将其标记为“迟到”
String buttonLetter;
int buttonHeight;
int buttonWidth;
int buttonStartingXpoint;
int buttonStartingYpoint;
DataModel(
{required this.buttonLetter,
required this.buttonHeight,
required this.buttonWidth,
required this.buttonStartingXpoint,
required this.buttonStartingYpoint});
DataModel.fromJson(Map<String, dynamic> json) {
buttonLetter = json['Button_letter'];
buttonHeight = json['Button_height'];
buttonWidth = json['Button_width'];
buttonStartingXpoint = json['Button_Starting_xpoint'];
buttonStartingYpoint = json['Button_Starting_ypoint'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['Button_letter'] = this.buttonLetter;
data['Button_height'] = this.buttonHeight;
data['Button_width'] = this.buttonWidth;
data['Button_Starting_xpoint'] = this.buttonStartingXpoint;
data['Button_Starting_ypoint'] = this.buttonStartingYpoint;
return data;
}
}
我尝试添加后期,但随后在后期和模型中都显示错误。我是新来的颤振
解决方案
您必须在初始化列表中初始化它们。当您到达构造函数主体时,为时已晚。这是修复:
DataModel.fromJson(Map<String, dynamic> json) :
buttonLetter: json['Button_letter'],
buttonHeight: json['Button_height'],
buttonWidth: json['Button_width'],
buttonStartingXpoint: json['Button_Starting_xpoint'],
buttonStartingYpoint: json['Button_Starting_ypoint'];
供参考:https ://dart.dev/guides/language/language-tour#constructors
推荐阅读
- .net - MicrosoftIdentityWebChallengeUserException:连接到 Azure SQL Db 的 Web 应用程序已重新启动,并且用户在之前未注销的情况下访问它
- javascript - 使用javascript上传照片时,aws s3返回禁止的403
- debugging - 调试应用程序的发布版本的问题
- spring-boot - 名称为“”的 Spring Cloug GCP“函数”不能为空
- javascript - 通过 AJAX 调用保存和加载数组/对象,JSON 字符串化问题
- azure - 有没有办法在 azure 上的虚拟节点中运行 Istio sidecar?
- python - 有没有办法使用 pyshark 在 pcap 文件中找到与特定 HTTP 响应相关的 HTTP 请求?
- javascript - 如何在网站上触发点击事件,然后用 Cheerio 解析它?
- rust - 循环中看似不一致的借用检查器行为
- node.js - 自更新到 Node.js 10 以来,Firebase onCreate 触发器失败