Size: a a a

iOS Developers — русскоговорящее сообщество

2021 August 05

J

Jackson in iOS Developers — русскоговорящее сообщество
Всм просто перезапустить ?
источник

D

Dmitry in iOS Developers — русскоговорящее сообщество
да
источник

J

Jackson in iOS Developers — русскоговорящее сообщество
Угу(
источник

J

Jackson in iOS Developers — русскоговорящее сообщество
У меня дедлайны горят, а у меня XCode остановился )
источник

АЧ

Антон Чехов... in iOS Developers — русскоговорящее сообщество
Привет
Попробуй показать, что DLM -- это дикт типа [string : DMLStruct]
источник

AS

Anton Sobolev in iOS Developers — русскоговорящее сообщество
ну вот я сделал так, если бы небыло этого DLM
это получается для 2 слоев как бы. Когда DLM становится ключем - это уже третий. Вот до закономерности допереть не могу. Мне 3 слой этот DLM как 2 над 1 делать?
источник

АЧ

Антон Чехов... in iOS Developers — русскоговорящее сообщество
Посмотрим в build phase компилятся они там или нет
Они могут быть в ФС, но они могли заофектится
источник

АЧ

Антон Чехов... in iOS Developers — русскоговорящее сообщество
Погодь немного
источник

АЧ

Антон Чехов... in iOS Developers — русскоговорящее сообщество
Кинь json текстом
источник

AS

Anton Sobolev in iOS Developers — русскоговорящее сообщество
вот он весь {
   "success": true,
   "data": {
       "DLM": {
           "0": {
               "price": 15853,
               "airline": "ZF",
               "flight_number": 401,
               "departure_at": "2021-08-25T03:15:00+03:00",
               "return_at": "2021-09-08T09:00:00+03:00",
               "expires_at": "2021-08-05T10:15:16Z"
           },
           "1": {
               "price": 14181,
               "airline": "DP",
               "flight_number": 204,
               "departure_at": "2021-08-04T06:50:00+03:00",
               "return_at": "2021-08-06T14:50:00+03:00",
               "expires_at": "2021-08-05T10:15:16Z"
           },
           "2": {
               "price": 18724,
               "airline": "N4",
               "flight_number": 148,
               "departure_at": "2021-10-15T21:00:00+03:00",
               "return_at": "2021-10-23T20:50:00+03:00",
               "expires_at": "2021-08-05T10:15:16Z"
           }
       }
   },
   "currency": "rub"
}
источник

АЧ

Антон Чехов... in iOS Developers — русскоговорящее сообщество
Примерно так
Я добавил новое поле и распарсилось


```
//: A UIKit based Playground for presenting user interface
 
import Foundation
import PlaygroundSupport

struct HZ: Codable {
   
let success: Bool
   
let data: HzData
}

struct HzData: Codable {
   
let DLM: [String : DlmContent]
}

struct DlmContent: Codable {
   
let price: Int
   
let airline: String
   
let flight_number: Int
   
let departure_at: String
   
let return_at: String
   
let expires_at: String
}

let json = """

   {
       "success": true,
       "data": {
           "DLM": {
               "0": {
                   "price": 15853,
                   "airline": "ZF",
                   "flight_number": 401,
                   "departure_at": "2021-08-25T03:15:00+03:00",
                   "return_at": "2021-09-08T09:00:00+03:00",
                   "expires_at": "2021-08-05T10:15:16Z"
               },
               "1": {
                   "price": 14181,
                   "airline": "DP",
                   "flight_number": 204,
                   "departure_at": "2021-08-04T06:50:00+03:00",
                   "return_at": "2021-08-06T14:50:00+03:00",
                   "expires_at": "2021-08-05T10:15:16Z"
               },
               "2": {
                   "price": 18724,
                   "airline": "N4",
                   "flight_number": 148,
                   "departure_at": "2021-10-15T21:00:00+03:00",
                   "return_at": "2021-10-23T20:50:00+03:00",
                   "expires_at": "2021-08-05T10:15:16Z"
               },
                   "3": {
                       "price": 18724,
                       "airline": "N4",
                       "flight_number": 148,
                       "departure_at": "2021-10-15T21:00:00+03:00",
                       "return_at": "2021-10-23T20:50:00+03:00",
                       "expires_at": "2021-08-05T10:15:16Z"
                   }
   
           }
       },
       "currency": "rub"
   }
   """

if let jsonData = json.data(using: .utf8) {
   
let jsonObj = try? JSONDecoder().decode(HZ.self, from: jsonData)
   print(jsonObj?.data.DLM.keys)
}


```
источник

AS

Anton Sobolev in iOS Developers — русскоговорящее сообщество
да вот только вместо DLM - может любой другой ключ приходить. DME, LED и тд, типа аэропорт назначения) и получается уже не сработает
источник

АЧ

Антон Чехов... in iOS Developers — русскоговорящее сообщество
А структура будет та же?
источник

AS

Anton Sobolev in iOS Developers — русскоговорящее сообщество
ну в целом, да, только количество тоже меняться будет внутри, не «0», «1», «2», а только «0»
источник

АЧ

Антон Чехов... in iOS Developers — русскоговорящее сообщество
Если да -- просто тогда оберни так же в dict как я сделал с 1, 2, 3, 4 и не парься
А потом просто по ключам смотри

Или создай энам со всеми вохможными состоянимями и в качестве rawValue покажи стрингу
источник

AS

Anton Sobolev in iOS Developers — русскоговорящее сообщество
я вот просто нашел типа как с такими динамическими ключами работать, но не могу понять, как еще дальше распарсить)
источник

AS

Anton Sobolev in iOS Developers — русскоговорящее сообщество
ну енум не вариант, их там миллион, все не покажешь - это api aviasales
источник

АЧ

Антон Чехов... in iOS Developers — русскоговорящее сообщество
Ну тогда просто в дикт оберни как я это сделал с 0, 1, 2, 3 и будет счастье

А вообще данные решение как минимум выглядит не очень
Попробуй на бек надавить, чтобы они сделали нормальные массивы где это возможно и чтобы ты 0, 1, 2, 3 брал по индексам
источник

АЧ

Антон Чехов... in iOS Developers — русскоговорящее сообщество
Ну тогда просто дикт и всё и не парься себе
А потом у тебя будут его ключи и делай с ним всё, что хочешь
источник

AS

Anton Sobolev in iOS Developers — русскоговорящее сообщество
ок, щас попробую, спасибо)
источник