объект (допустим, user) приходит в виде {body: {data: {userdata: {user:..}}}? Нередко серверные методы пишутся сразу под несколько платформ, а на разные платформы могут требоваться разные данные
2) На сервере есть один метод, который в зависимости от параметра (допустим, messagesAuthor: me/friend/unknown/all возвращает различные(!) объекты, например:
a) {body: {me:[{text:}]}}
б) {body: {friend:[{text: }]}
в) {body: {unknown:[{text:}]}}
г) {body: {me:[{text:}], friend:[{text: }], {unknown:[{text:}]}}
Для себя решил проблему добавлением SwiftyJSON, но не уверен, что это верный путь
1. можно создать одну модель декодабл и внутри вторая модель декодабл 2. если каждый твой ответ содержит что-то в стиле body, count и тд то можно юзать декодабл структуру с дженериком 3. хороший совет еще это юзать 2 модели. домен модель и нетворк модель. нетворк модель подписана на декодабл и юзается для парсинга. вторая доменная модель инитится из нетворк модели и юзается по апке уже. например если тебе приходит тип юзера в стинге и ты бы хотел ее в энам. то в нетворк модели это стринга а в доменной модели это энам.
можно через опшинал типы и decodeIfPresented
Обсуждают сегодня