不能无条件访问属性“长度”,因为接收者可以为“空”。尝试使访问有条件(使用'?.')或添加

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''

无法无条件访问属性“uid”,因为接收者可以为“null”

snapshot.data.length 中的 Flutter Null 安全错误

无法无条件调用方法“[]”,因为接收者可以为“null”

请教:如何限制SYBASE登录,条件是用户名默认SA 口令空 不能修改

使用@Valid+BindingResult进行controller参数校验