如何在结构 Swift 中获取数组的第一个索引

How to get firstindex of array in struct Swift

嗨,我有这样的结构

struct OrderCaches: Codable {
    var food, drink: [Food]?
}


struct Food: Codable{
    var id: Int?
    var name: String?
    var quantity: Double?
    var notes: String?
}

我想获得第一个索引,其中 id = productList[indexPath.row].id

我试过:

let index = OrderCaches.firstIndex(where: {[=12=].food.id == productList[indexPath.row].id})

但不工作我得到这个错误“'[Food] 类型的值?'没有成员 'id'”。 我怎样才能得到第一个索引? 谢谢

函数firstIndex不是静态成员,而是实例成员,因此您必须创建OrderCache的实例来获取索引,如下所示:

let orderCaches = OrderCaches(food: [], drink: [])
let index = orderCaches.food?.firstIndex(where: { [=10=].id == productList[indexPath.row].id })