【问题标题】:Flutter loop through object (Basics)Flutter 循环遍历对象(基础)
【发布时间】:2021-12-10 06:39:18
【问题描述】:

想要遍历一个多维对象,但似乎缺少某些东西。

String label, action;
    var symbol;
    Object toggles = [
      {
        label = 'Reckless',
      },
      {
        label = 'Feckless',
      },
      {
        label = 'Legless',
      },
    ];

我尝试连续使用它:

   Row(
       children: for (var toggle in toggles) {
Text('label ${toggle.label}')
                  },
                );

错误消息涉及for,指出它需要一个已识别的。显然我没有完全理解如何做到这一点。

【问题讨论】:

  • 如果我的问题很糟糕,那么也许你可以解释一下原因,然后我就不会再这样做了。
  • 你不能使用地图或列表而不是对象吗?
  • @rosh-dev 我尝试过使用 Map,但它指出我不能使用命名值。我相信我在对象构造中遗漏了一些东西。
  • 您可以通过更改诸如 'label' : 'Reckless' 之类的语法来创建对象数组,但您不能遍历切换数组,因为它没有实现 Iterable 类。我认为您需要为您的要求找到另一种解决方案
  • @rosh-dev 谢谢。最终,我想通过 JSON 控制整个对象,因为我还将处理语言变体。如果我们想象“切换”实际上是一个 JSON 数组,其中包含每条记录的标签、符号和操作的值,那会是更好的方法吗?

标签: arrays flutter object each


【解决方案1】:

我试图运行你的代码。错误:

Error: The type 'Object' used in the 'for' loop must implement 'Iterable<dynamic>'.

您不能迭代 Object

例如,如果您将Object toggles = 更改为List toggles =(这是可迭代的),那么它就可以工作了。

【讨论】:

  • 谢谢。这听起来很有道理。最终我想对这些对象使用 JSON,所以我正在查看 Dart 中的 JSON 函数,但这对我的理解非常有帮助。
猜你喜欢
  • 2020-06-09
  • 1970-01-01
  • 2020-04-30
  • 2017-06-12
  • 2015-10-31
  • 2014-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多