不能无条件调用方法'data',因为接收器可以是"null"。尝试使调用有条件(使用"?.")。如何解决?


questionModel.question = questionSnapshot.data()["question"];

//无法无条件调用方法"data",因为接收器可以为"null"。尝试使呼叫有条件(使用"?."(

/// shuffling the options
List<String> options = [
questionSnapshot.data()["option1"],
questionSnapshot.data()["option2"],
questionSnapshot.data()["option3"],
questionSnapshot.data()["option4"]
];
options.shuffle();
questionModel.option1 = options[0];
questionModel.option2 = options[1];
questionModel.option3 = options[2];
questionModel.option4 = options[3];
questionModel.correctAnswer = questionSnapshot.data()["correctAnswer"];
questionModel.answered = false;

正如错误消息所说,调用questionSnapshot.data()可以返回null,并且不能对此调用进一步的操作。

在处理问题之前,您需要检查data()方法是否返回null,例如:

var data = questionSnapshot.data();
if (data != null) {
List<String> options = [
data["option1"],
data["option2"],
data["option3"],
data["option4"]
];
options.shuffle();
...

相关内容

最新更新