getter 'isNull' 被调用为 null
The getter 'isNull' was called on null
我在执行以下 flutter 代码时使用了 getx 和 getstorage 包。我想检查一个变量是否为空,但是出现以下错误。执行以下代码时,名为 variable 的变量未存储在磁盘上。
Exception has occurred.
NoSuchMethodError (NoSuchMethodError: The getter 'isNull' was called on null.
Receiver: null
Tried calling: isNull)
screen.dart
TextButton(
onPressed: () {
var _variable = userStorage.read('variable');
print('_variable = $_variable');
// above prints _variable = null
if(_variable.isNull){
// do something if its null
// but results in flutter error
}
else{
// do something else
}
},
child: Obx(() => (Text(
'variable value='+controller.variable.value,
)
)
)
)
controller.dart
class Controller extends GetxController {
var userStorage = GetStorage();
}
如果为空则使用默认值
var _variable = userStorage.read('variable') ?? "notSet";
if(_variable == "notSet"){
// do something
}
else{
// do something else
}
我在执行以下 flutter 代码时使用了 getx 和 getstorage 包。我想检查一个变量是否为空,但是出现以下错误。执行以下代码时,名为 variable 的变量未存储在磁盘上。
Exception has occurred. NoSuchMethodError (NoSuchMethodError: The getter 'isNull' was called on null. Receiver: null Tried calling: isNull)
screen.dart
TextButton(
onPressed: () {
var _variable = userStorage.read('variable');
print('_variable = $_variable');
// above prints _variable = null
if(_variable.isNull){
// do something if its null
// but results in flutter error
}
else{
// do something else
}
},
child: Obx(() => (Text(
'variable value='+controller.variable.value,
)
)
)
)
controller.dart
class Controller extends GetxController {
var userStorage = GetStorage();
}
如果为空则使用默认值
var _variable = userStorage.read('variable') ?? "notSet";
if(_variable == "notSet"){
// do something
}
else{
// do something else
}