Нахождение прогресса декодируемого.decode в Swift - PullRequest
0 голосов
/ 21 февраля 2019

Я хочу создать индикатор прогресса для загрузки контактов из API.

Я использую кодируемый, и у меня тысячи записей.

    HTTPManager.shared.get(urlString: ContactManager.createURL(), completionBlock:  {(data: Data?) -> Void in
        let decoder = JSONDecoder()
        if let d = data{

            do {
                let userData = try decoder.decode([Contact].self, from: d)
                self.isFetchingData = false
                print ("done", userData)
            } catch let error {
                print ("Error in reading data", error)
            }
        }

    }
    )

Для получения информации, вот моя структура контактов

struct Contact : Codable {
    let firstname : String?
    let url : String?
    let lastname : String?
    let profilepic : String?
    let favorite: Bool?
    let id: Int?

    enum CodingKeys : String, CodingKey {
        case firstname = "first_name"
        case url
        case lastname = "last_name"
        case profilepic = "profile_pic"
        case favorite = "favorite"
        case id
    }
}

Это не домашняя работа, я просмотрел документацию по JSONdecoder и знаю решение с помощью JSONSerialization.Я хочу знать, есть ли возможность сделать это с помощью codable, и провел ли исследование для этого.

В основном, как я могу узнать, над каким контактным декодером работает в любой момент времени, так что я могу отправитьэта информация для пользовательского интерфейса с d.count, чтобы я мог отображать прогресс для пользователя?

...