不能无条件访问属性“长度”,因为接收者可以为“空”。尝试使访问有条件(使用'?.')或添加
Posted
技术标签:
【中文标题】不能无条件访问属性“长度”,因为接收者可以为“空”。尝试使访问有条件(使用\'?.\')或添加【英文标题】:The property 'length' can't be unconditionally accessed because the receiver can be 'null'. Try making the access conditional (using '?.') or adding a不能无条件访问属性“长度”,因为接收者可以为“空”。尝试使访问有条件(使用'?.')或添加 【发布时间】:2021-08-17 11:35:59 【问题描述】:当我尝试从 API 访问数据时,我得到了这个错误帮助我。
【问题讨论】:
您是否尝试过按照错误提示进行操作?您将如何访问空对象上的数据?您是否应该在访问之前检查您正在访问的对象是否实际上不为空? 不,先生说的实际错误是什么? 错误的意思是请求中的数据可能为空。 null 的意思是对象中没有值,或者更具体地说,根本没有任何值。如果您理解指针,这应该是有道理的,但如果不是,那么只需将 null 视为缺少数据。如果您试图深入了解数据的缺失,那么这在语义上实际上没有意义。如果我给你一个里面什么都没有的袋子,然后向你要那个袋子里的一个球,你应该怎么做。在询问之前您必须检查它是否为空或类似地袋子是空的 那么现在有什么解决方案呢? 您似乎已经在检查数据是否为空,因此您可以在[index]
之前放置一个!
【参考方案1】:
将 SDK 2.12.0 更改为 SDK 2.7.0
【讨论】:
请添加一些解释为什么这可能有效 推理很重要,因为您建议降级。以上是关于不能无条件访问属性“长度”,因为接收者可以为“空”。尝试使访问有条件(使用'?.')或添加的主要内容,如果未能解决你的问题,请参考以下文章
Flutter - '属性'设置'不能无条件访问,因为接收器可以是'null''
snapshot.data.length 中的 Flutter Null 安全错误