Получить путь вложенного объекта в структуре - PullRequest
0 голосов
/ 30 апреля 2018

Мне нужно получить путь к вложенному объекту.

Допустим, у меня есть модель, которая выглядит следующим образом:

struct Model: Codable {
    struct ModelB: Codable {
        let props: [ModelC]
    }
    struct ModelC: Codable {
       let prop: Int
    }

    let modelB: ModelB
}

Тогда у меня есть мой экземпляр:

let model = Model(modelB: Model.ModelB(props: [Model.ModelC(prop: 1),
                                               Model.ModelC(prop: 2),
                                               Model.ModelC(prop: 3)]))

Теперь я бы хотел получить путь к элементу в ModelB props.
Делая что-то вроде:

print(model.modelB.props[0].path)

И ожидаемый путь должен выглядеть следующим образом:

"modelB / реквизит / 0 / моделька"

где 0 - позиция элемента в массиве props.

Есть ли способ добиться этого либо с помощью CodingKey, либо, возможно, KeyPath?

...