Swift JSONDecoder Дополнительная распаковка - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть большое количество структур, которые заполняются декодированием данных JSON.Я хочу, чтобы система была надежной и обрабатывала необязательные ключи в JSON.Это оставляет мне много необязательного кода для разворачивания в моем пользовательском интерфейсе.

struct SomeStruct: Decodable {
    public var id: Int
    public var firstName: String?
    public var lastName: String?
}

Text("\(someStruct.lastName ?? ""), \(someStruct.firstName ?? "")")

Я ищу чистый способ установить значения по умолчанию и избежать разворачивания опций тезисов по всему слою пользовательского интерфейса.Например, кто-то дал это решение: https://stackoverflow.com/a/57260118. Это будет работать, но также создаст тонну почти дублированного кода.У кого-нибудь есть более элегантное решение для этого?Критерием успеха является синтаксический анализ JSON -> с минимально необходимыми ключами и удаление необязательного развертывания из кода пользовательского интерфейса.

...