【问题标题】:Foreach if all of a field is "0", return one viewForeach 如果所有字段都是“0”,则返回一个视图
【发布时间】:2021-04-02 16:56:42
【问题描述】:

我正在尝试浏览一个项目列表,这些项目都有一个名为“yes”的字段,它是一个整数。本质上,这个循环会运行,如果一个项目的 yes 字段大于 0,它会显示出来,如果它是 0,它不会。到目前为止,我希望它可以工作,但我想做的是如果所有项目的值都为 0,则显示不同的消息,这样屏幕的部分就不仅仅是空的。我该怎么做呢?我尝试将消息放入“else”,但(显然)它只是将消息重复了数据库中有项目的次数。

ForEach(items.indices, id: \.self) { i in
   if (items[i].yes != 0) {
      HStack {
         Text(items[i].name)
          Spacer()
          Text("\(items[i].yes)")
      }
      Divider()
   } else {}
}

【问题讨论】:

    标签: ios swift google-cloud-firestore swiftui


    【解决方案1】:

    您需要以下内容(在适当位置输入,因此可能是拼写错误):

    if items.filter({ $0.yes != 0}).isEmpty {
       Text("Message for ALL are 0")
    } else {
        ForEach(items.indices, id: \.self) { i in
           if (items[i].yes != 0) {
              HStack {
                 Text(items[i].name)
                  Spacer()
                  Text("\(items[i].yes)")
              }
              Divider()
           } else {}
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 2020-07-06
      • 2012-10-27
      • 2022-12-04
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多