Как стать автором
Обновить

Swift Generics: cтили для UIView и не только #1

Разработка под iOS *Разработка мобильных приложений *Xcode *Swift *

Часть #2


Вступление


Идея для публикации возникла после прочтения перевода CSS для Swift: использование стилей для любых подклассов UIView. Подход достаточно интересный, но он оказался не очень гибким, т.к. не позволяет объединять стили разных типов. Подробнее можно прочитать в комментарии.


В данной публикации будет сделана попытка получить более гибкий способ задания стилей, а также будут приведены примеры использования получившегося механизма.


Декорации


Введем понятие декорации, которое будет олицетворять придание неких свойств объекту:


typealias Decoration<T> = (T) -> Void
Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 9.4K
Комментарии 12

Swift Generics: cтили для UIView и не только #2

Разработка под iOS *Разработка мобильных приложений *Xcode *Swift *

Данная публикация является продолжением выпуска, где была затронута тема декорирования объектов. Ознакомление с первой публикацией поможет лучше вникнуть в текущий контекст, т.к. упомянутые ранее термины и решения буду описываться с упрощениями.


Подход получился весьма удачным и был многократно протестирован на реальных проектах. Кроме этого, появились дополнения к подходу и удобство его использования значительно возросло.


Напомню, что основным элементом представленного способа задания стилей является обобщенное замыкание:


typealias Decoration<T> = (T) -> Void

Использовать данное замыкание для придания свойств UIView можно следующим образом:

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 6.6K
Комментарии 0