L oop до JSON данных и сохранить их в массиве - PullRequest
0 голосов
/ 06 марта 2020

Итак, у меня есть JSON данные, которые находятся в массиве (0 - это первый день месяца до последнего дня месяца).

Как мне сделать от oop до go через все массив и хранить 3 раза дня каждый в своем собственном массиве (я буду использовать sh, чтобы использовать это время для уведомлений позже)

Переменная dayForArray это просто текущий день - 1, так что она соответствует числу в массиве JSON.

func parseJSON(_ timesData: Data) -> TimesModel? {
    let decoder = JSONDecoder()
    do {
        let decodedData = try decoder.decode(TimesData.self, from: timesData)
        let time1 = decodedData.data[dayForArray].timings.Time1
        let time2 = decodedData.data[dayForArray].timings.Time2
        let time3 = decodedData.data[dayForArray].timings.Time3

        let time = TimeModel(time1: time1, time2: time2, time3: time3)

        return times

    } catch {
        delegate?.didFailWithError(error: error)
        return nil
    }
}

1 Ответ

1 голос
/ 06 марта 2020

Что вам нужно сделать, это использовать map для создания массива TimeModel объектов из вашего json массива

let times = decodedData.data.map { 
    TimeModel(time1: $0.timings.Time1, 
              time2: $0.timings.Time2, 
              time3: $0.timings.Time3) 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...