【发布时间】:2021-10-02 13:57:31
【问题描述】:
我正在尝试使用代码从 sharedPreferences 中检索用户数据:
User? get user {
String? u = sharedPreferences.getString("user");
if (u == null) {
return null;
} else {
return User.fromJson(jsonDecode(u));
}
}
但我收到错误 “getter 'user' 的返回类型是 'User?'这不是其设置器“用户”的“用户”类型的子类型。”
我希望能够返回 null,但由于 null 安全性,编译器不允许我返回。
谁能告诉我这里缺少什么?:/
【问题讨论】:
-
能否显示“User.fromJson”方法和User类的内容
-
您有一个对应的 setter,它采用
User而不是User?,并且 getter 和 setter 的类型应该匹配。见dart.dev/tools/… 和groups.google.com/a/dartlang.org/g/misc/c/74VgbBxVXoM?pli=1。
标签: flutter dart dart-null-safety