首页 > 解决方案 > 你能在 SwiftUI ForEach 语句中指定一个“Where”吗?

问题描述

在 SwiftUI 应用程序中,我有一个定义数据的大型类。在应用程序的一部分中,我想查看 ID 与我要查找的内容匹配的一条记录。我已经做到了如下,但似乎它应该更直接。比如允许一个where子句。有任何想法吗?

ForEach (ItemList) { item in 
    if (item.itemId = thisId) {
         Text(item.description)
    }
}

因此,与其遍历整个列表来查找匹配项,我还想:

ForEach (ItemList WHERE ID = XXX) {

或(更可取的是,因为没有“每个”且只有一个记录):

Text(ItemList[itemId].description)

找不到这方面的任何具体信息,不胜感激。

谢谢你。

标签: iosswiftui

解决方案


你可以在没有 ForEach 的情况下尝试这样的事情:

if let item = ItemList.first(where: {$0.id == "xxxx"}) {
   Text(item.description)
}

推荐阅读