问题描述
A value of type 'Object?' can't be assigned to a variable of type 'int?'
原因分析
Dart 2.12 版本之后,如果你从 Map 中提取值,Dart 可能会将其类型标记为 Object?,因为 Dart 不确定该值是否存在或其实际类型是什么。
解决方法
在这种情况下,你可以使用 as 关键字来明确告诉 Dart 该值的类型,或者使用空值检查来确保值不为 null。以下是两种可能的修改:
使用 as 关键字:
int groupId = (groupData[0]['groupId'] as int?);
使用空值检查:
dart
Copy code
int? groupId = groupData[0]['groupId'] as int?;
if (groupId != null) {
// 这里可以安全地使用 groupId
}
选择其中一种方法,根据你的代码风格和偏好进行修改。