如何修复null检查错误,因为我使用了创建错误的!
。
void initialGetSaved() async{
sharedPreferences = await SharedPreferences.getInstance();
// Read the data, decode it and store it in map structure
Map<String,dynamic> jsondatais = jsonDecode(sharedPreferences.getString('userData')!); // The error starts here
var data = UserData.fromJson(jsondatais);
if(jsondatais.isNotEmpty){
gender = '';
birthdate;
height = '';
weight = '';
goal = '';
workout_per_week = '';
how_many_weeks = '';
meal_plan = '';
meal_category = '';
}
}
空检查错误意味着您在空变量上使用了!
,在这种情况下,这意味着sharedPreferences没有任何字符串'userData'
,有很多方法可以解决这个问题,如果我不理解用例,我很难告诉你该使用哪个,但希望这能解决错误:
来自
sharedPreferences.getString('userData')!
至
sharedPreferences.getString('userData') ?? '{}'
这将确保您始终具有非null值。