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(_:)и т.д.
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
-
Вовлечение пользователей2 недели назад
Большинство приложений терпят неудачу не из-за плохой «идеи»
-
Новости2 недели назад
Видео и подкасты о мобильной разработке 2026.3
-
Новости1 неделя назад
Видео и подкасты о мобильной разработке 2026.4
-
Видео и подкасты для разработчиков1 неделя назад
Изоляционно-плагинная архитектура в Dart-приложениях, переносимость на Flutter
