[Перевод] Знакомство с SwiftUI: Создание простого приложения с использованием TableView

Во время проведения WWDC 2019, одним из самым больших и захватывающих моментом был анонс релиза SwiftUI. SwiftUI — это совершенно новый фреймворк, который позволяет проектировать и разрабатывать пользовательские интерфейсы с написанием меньшего количес…

Как мы в QIWI пришли к единому стилю взаимодействия между View и ViewModel в рамках MVVM

Изначально весь проект был написан на Objective-C и использовал ReactiveCocoa версии 2.0
Взаимодействие между View и ViewModel осуществлялось посредствам биндингов свойств вью модели, и все бы ничего, за исключением того, что отладкой такого кода зани…

[Из песочницы] Sourcery для автоматического конвертирования в структуры объектов Realm

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

[Перевод] Интеграционное тестирование для проверки на наличие утечки памяти

Мы пишем множество юнит тестов, разрабатывая приложение SoundCloud под iOS. Юнит тесты выглядят вполне великолепно. Они короткие, (надеюсь) читабельны, и они дают нам уверенность в том, что код, который мы пишем, работает так, как и ожидается. Но юнит …

[Перевод] Использование UIViewPropertyAnimator для создание пользовательских анимаций

Создание анимаций это здорово. Они являются важной частью iOS Human Interface Guidelines. Анимации помогают привлечь внимание пользователя к важным вещам или попросту делают приложение не таким скучным.

Существует несколько способов реализовать ани…

Архитектурный шаблон «Строитель» во вселенной «Swift» и «iOS»/«macOS»

В этот раз я бы хотел немного поговорить о еще одном порождающем шаблоне проектирования из арсенала «Банды четырех» – «Строителе» («Builder»). Так вышло, что в ходе получения своего (пусть и не слишком обширного) опыта, я довольно часто видел, чтобы па…