Вывод таблицы тройной вложенности Swift

Всем привет! Есть такая задача которую никак не могу победить в общем есть данные в вот таком формате

  "categories": [
    {
        "title": "ЗАГОЛОВОК СЕКЦИИ",
        "categories": [
            {
                "title": "ЗАГОЛОВОК ЯЧЕЙКИ",
                "id": 197,
                "offers": [
                    {
                        "id": ,
                        "title": "",
                        "pricePerTon": ,
                        "pricePerTonChange": 0,
                        "pricePerLiter": ,
                        "density": ,
                        "comment": "",
                        "photo": "",
                        "passport": "",
                        "highlight": false,
                        "loading": ""
                    },
                 ]

Задача состоит в том, что бы вывести все это дело в вот такой интерфейс введите сюда описание изображения

И я не как не могу догнать как мне вывести таблицу тройной вложенности, я смог вывести заголовок секции и заголовок ячейки, но вот глубже уйти в массив не могу. Подскажите в какую сторону копать, пожалуйста

Сейчас вот так

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    if indexPath.row == 0  {
        guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell") else {return UITableViewCell()}
        if productArray[indexPath.section].categories.count != 0 {
            cell.textLabel?.text = productArray[indexPath.section].title
            cell.textLabel?.textColor = UIColor(red: 0.483, green: 0.887, blue: 0.2, alpha: 1)
        }
        return cell
    } else {
        guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell") else {return UITableViewCell()}
        cell.textLabel?.text = productArray[indexPath.section].categories[indexPath.row].title
        cell.textLabel?.textColor = UIColor.white
        cell.imageView?.image = nil
        return cell
    }
}

Ответы (1 шт):

Автор решения: schmidt9

Насколько я понял, вопрос в выводе массива offers для каждой из ячеек, в таком случае нужно пройтись в цикле по этому массиву для каждой ячейки, динамически добавляя нужное количество белых вью в ячейку и заполняя их.

Это можно сделать либо в контроллере, либо вынести логику в ячейку и передавать туда массив offers.

При этом высота ячеек может получиться разной, поэтому нужно будет реализовать расчет высоты ячеек, как это сделать информации много, можно вручную, можно через Auto Layout и средствами UITableView

→ Ссылка