Как получить firstindex массива в struct Swift - PullRequest
0 голосов
/ 26 мая 2020

Привет, у меня есть такая структура

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: {$0.food.id == productList[indexPath.row].id})

но не работает Я получаю эту ошибку " Значение типа '[Food]?' не имеет члена 'id'". Как я могу получить первый индекс? Спасибо

1 Ответ

1 голос
/ 26 мая 2020

Функция firstIndex не является членом stati c, а является членом экземпляра, поэтому вам нужно создать экземпляр OrderCache, чтобы получить индекс, как показано ниже:

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