GitHub
MetaCodable: расширение Codable с помощью метапрограммирования макросов
MetaCodable — расширение возможностей реализации Codable в Swift с помощью макросов. Фреймворк предоставляет пользовательские макросы, которые могут быть использованы для генерации динамических реализаций Codable. Ядром фреймворка является макрос Codable(), который генерирует реализацию на основе данных, предоставляемых с помощью других макросов.
MetaCodable нацелен на повышение эффективности ваших реализаций Codable, предоставляя следующие возможности:
- Позволяет объявлять пользовательские значения
CodingKeyдля каждой переменной, вместо того чтобы писать все значенияCodingKeyс помощьюCodedAt(_:), передавая один аргумент. - Позволяет создавать плоскую модель для вложенных значений
CodingKeyсCodedAt(_:)иCodedIn(_:). - Позволяет создавать композицию из нескольких типов
Codableс помощьюCodedAt(_:), не передавая никаких аргументов. - Позволяет предоставлять значение по умолчанию в случае сбоев декодирования с помощью
Default(_:). - Позволяет создавать пользовательские стратегии декодирования/кодирования с помощью
HelperCoderи использовать их с помощьюCodedBy(_:), т.е.LossySequenceCoderи т.д. - Позволяет игнорировать определенные свойства при декодировании/кодировании с помощью
IgnoreCoding(),IgnoreDecoding()и@IgnoreEncoding(). - Позволяет игнорировать все инициализированные свойства типа при декодировании/кодировании с помощью функции
IgnoreCodingInitialized(), если они явно не запрошены для декодирования/кодирования путем добавления каких-либо атрибутов кодирования, т.е.CodedIn(_:),CodedAt(_:),CodedBy(_:),Default(_:)и т.д.
-
Аналитика магазинов3 недели назад
Мобильный рынок Ближнего Востока: исследование Bidease и Sensor Tower выявляет драйверы роста
-
Видео и подкасты для разработчиков3 недели назад
Разбор кода: iOS-приложение для управления личными финансами на Swift. Часть 1
-
Новости3 недели назад
Видео и подкасты о мобильной разработке 2025.47
-
Разработка4 недели назад
100 уроков о том, как я довёл своё приложение до продажи за семизначную сумму

