Comments 18
UFO just landed and posted this here
UFO just landed and posted this here
Вопрос в количестве телодвижений. Лично у меня не получилось, например, красиво и с минимальным вмешательством в код создать нормальный сетевой движок для сервера, с которым я работаю. AlamofireObjectMapper сильно помог, и сильно сократил количество кода. Codable — это определенно шаг вперед, но это не панацея, к сожалению, и сторонние либы все равно мощнее, иногда ощутимо. Не нужно изобретать велосипед, изобретенный до вас, Codable поможет в легких случаях, но полноценное сложное сетевое ядро на нем особо не напишешь (или придется потратить больше времени и строк кода, чем хотелось бы). На мой взгляд, конечно.
0
Codable безусловно не панацея, и можно использовать сторонние библиотеки, к сожалению AlamofireObjectMapper не использовал, пробовал только SwiftyJSON, но в итоге больше понравился Decodable и у меня весь проект сделан на нем, более 50 APIшек со структурами данных разной сложности, без проблем. Но, зная Alamofire, думаю у них тоже достойный продукт.
0
ObjectMapper, насколько я знаю, писал другой специалист, не разработчики Alamofire, но могу ошибаться. Если сравнивать SwiftyJSON с Codable, то я с вами соглашусь, они очень близки по функционалу. Попробуйте AlamofireObjectMapper, думаю, в будущем он поможет вам сократить количество времени и кода на сетевое ядро. Мне понравилось, во всяком случае. SwiftyJSON/Codable не подошли конкретному к моему проекту, специфический сервер. А так — лишь бы нравилось, если конкретное решение вам подошло — это замечательно.
0
UFO just landed and posted this here
Спасибо за статью!
Пора тоже переходить со SwiftyJSON на Codable.
В примере с nested-контейнером, я так понимаю, ошибка. Верно будет так:
self.votesCount = try? ratingsContainer.decode(Int.self, forKey: .votesCount)
self.averageRating = try? ratingsContainer.decode(Double.self, forKey: .averageRating)
Пора тоже переходить со SwiftyJSON на Codable.
В примере с nested-контейнером, я так понимаю, ошибка. Верно будет так:
self.votesCount = try? ratingsContainer.decode(Int.self, forKey: .votesCount)
self.averageRating = try? ratingsContainer.decode(Double.self, forKey: .averageRating)
0
Теперь точно все ок )
0
Благодарю за такую подробную статью.
А что насчет производительности по сравнению со SwiftyJSON? Находил сравнения с Manual, но не с вышеупомянутой библиотекой. Есть ли критичная разница при работе с большими объемами данных?
А что насчет производительности по сравнению со SwiftyJSON? Находил сравнения с Manual, но не с вышеупомянутой библиотекой. Есть ли критичная разница при работе с большими объемами данных?
0
Спасибо! Сам не сравнивал, но находил информацию на эту тему, вот сравнительная таблица:
и проект на гитхабе: github.com/bwhiteley/JSONShootout
и проект на гитхабе: github.com/bwhiteley/JSONShootout
0
Sign up to leave a comment.
Парсинг и работа с Codable в Swift 4