【问题标题】:Iterable has value but when i try to pass it in functions or convert it to list it appears to be nullIterable 具有价值,但是当我尝试将其传递给函数或将其转换为列表时,它似乎为空
【发布时间】:2020-05-07 14:45:08
【问题描述】:

我有一个 Future,它从 Flutter 插件联系人服务返回一个 Iterable<Contact> 类型的值。 我的代码是这样的:

var contacts = await ContactsService.getContacts();

但是,如果我尝试打印它,例如它会引发输入不能为空的异常。 如果我尝试运行.toList().

,也会发生同样的情况

但正如您在下图中可以清楚地看到的那样,该对象具有数据。

我真的被困住了,非常感谢您的帮助。

【问题讨论】:

  • 请添加方法代码ContactsService.getContacts()
  • @Tidder 该代码来自一个插件,该插件曾经像 2 天前一样工作。 pub.dev/packages/contacts_service#-readme-tab-
  • 您是否按照自述文件中的说明进行操作。诸如权限和编辑清单和 plist 文件之类的事情?
  • @sudo_kaizen 有关权限的所有步骤均已正确执行。该代码在 2 天前工作。由于某种原因,它现在停止工作。这是最令人沮丧的部分。问题是它返回了它应该返回的东西。但编译器认为它为空。我以前从来没有发生过
  • 我正在尝试复制您的代码

标签: flutter dart future iterable


【解决方案1】:

致所有来到这个帖子寻找答案的人。

我向 Flutter 存储库提出了问题,他们告诉我向我正在使用的库提出问题。

我向图书馆回购提出了一个问题,他们告诉我当最终另一个人遇到确切问题时它工作得很好。图书馆中的问题现已关闭,我在 github 上关注的一名谷歌员工进行了空安全测试。所以你毕竟不是疯了。这只是一个错误。一个罕见的,但仍然是一个错误!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2019-04-18
    • 2014-02-26
    • 1970-01-01
    相关资源
    最近更新 更多