Записи по тегу Разработка под iOS

Окружение: Swift 5, iOS 14, Xcode 12
Несколько лет назад, ребята из Фейсбука столкнулись с неприятным багом: количество непрочитанных сообщений в мессенджере иногда расходилось с таковым в других частях страницы. К проблеме было решено подойти системно, а именно придумать способ гарантировать консистентность данных, используемых в компонентах веб-приложений. В результате чего появился шаблон проектирования Flux.

Чуть позже Дэн Абрамов и Эндрю Кларк представили миру архитектуру Redux (читается как ридакс), которая стремительно набрала популярность в мире Javascript-разработки. Её подходы являются логическим развитием Flux и применимы не только в рамках экосистемы Javascript и веб-приложений.
Читать далее →

Операторы позволяют удобно преобразовывать последовательность приходящих событий в RxSwift. Их можно разделить на несколько основных групп (назначение каждой из групп, думаю, говорит само за себя):
- Фильтрующие
- Трансформирующие
- Комбинирующие
Сегодня мы рассмотрим самые показательные примеры из каждой группы, полный список операторов и их возможности всегда можно найти в документации.
Читать далее →

Subjects (субъекты) расширяют поведение обозреваемых последовательностей, наделяя их свойствами обозревателя. Так как это обозреватель, то он может подписываться на обозреваемые последовательности, а благодаря, тому что он сам является таковым, он может ретранслировать полученные значения, а также транслировать новые. Так справедливо будет сказать, что субъекты выступают своеобразным прокси.
Читать далее →

В прошлой статье мы разобрались с основными понятиями в мире Rx. Сегодня мы обсудим подробнее различные способы создания наблюдаемых последовательностей (Observables) и рассмотрим особенности подписки на транслируемые события.
Читать далее →

Для своей серии постов про RxSwift я задумал использовать для наглядности Playgrounds, но тут встал вопрос, а каким образом подключить туда внешнюю библиотеку из CocoaPods? Напрямую это сделать не получится, но можно создать пустой проект, сгенерировать workspace, а затем уже в него добавить playground. Подробная полследовательность шагов ниже.
Читать далее →

RxSwift — это библиотека для работы с асинхронным кодом, которая представляет события в виде потоков событий с возможностью подписаться на них, а также позволяет применять к ним подходы функционального программирования, что сильно упрощает работу со сложными последовательностями асинхронных событий.
Читать далее →
Создавать руками скриншоты для AppStore может быть очень долгим и нудным занятием, особенно если у вас проекте присутствует локализация, поэтому имеет смысл автоматизировать это действие, тем более что Fastlane предоставляет очень удобный и гибкий способ сделать это.
Читать далее →
При разработке приложений часто требуется получить доступ к файлам, которые находятся в директории Documents приложения. Например, посмотреть загруженные файлы или положить туда необходимые для тестов, разработки и т.п. В симуляторе это сделать особенно просто, так как все его директории физически находятся на диске вашего компьютера, достаточно лишь знать путь к ним.
Читать далее →
CocoaPods — менеджер пакетов, сделанный по образу и подобию RubyGems, позволяющий легко скачивать и подключать сторонние библиотеки к Swift и Objective-C проектам.
Читать далее →