你好这个判断会报错,已经加了空安全适配 ,报这个未被初始化 这个是为啥呢?
来源:5-9 带你揭开Flutter中的面向对象(工厂构造方法)

慕田峪0044676
2022-03-29
你好这个判断会报错,已经加了空安全适配 ,报这个未被初始化 这个是为啥呢?我查了一下,dart也不支持像kotlin那样去判断是否被初始化,该怎么办呢。
写回答
2回答
-
weixin_慕前端4492656
2022-04-23
late关键字修饰的_logger属性,为Logger类型,它是非空类型,只不过延迟到后面某个时间进行初始化赋值。
_logger既然是非空属性,那么代码里出现_logger==null当然会报错。
你可以将Logger类型定义改为Logger?类型,带?的类型表示它修饰的属性可以为null。
00 -
CrazyCodeBoy
2022-03-29
可以参考下下面的写法修改下:
static HiCache? _instance;
static HiCache getInstance() {
if (_instance == null) {
_instance = HiCache._();
}
return _instance!;
}032022-03-30
相似问题