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

Диалоги подтверждения в SwiftUI

Время на прочтение 4 мин
Количество просмотров 1.6K
Блог компании OTUS Разработка под iOS *
Перевод

Третья версия SwiftUI принесла нам несколько модификаторов представления (view modifiers), которые позволяют нам одинаково обрабатывать семантически похожие операции для разных представлений. Например одним из таких модификаторов представления является onSubmit, который мы можем использовать для управления как формами, так и полями поиска (search fields). На этой неделе мы поговорим о другом модификаторе представления, который SwiftUI предоставляет нам для отображения диалоговых окон подтверждения (confirmationDialog).

Диалог подтверждения (confirmation dialog) — это очень распространенный шаблон UI/UX, который мы обычно используем для подтверждения любых опасных действий в наших приложениях. Например, мы можем выводить диалоговое окно подтверждения перед удалением каких-либо конфиденциальных данных из приложения.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 0

Диспетчеризация в main thread с помощью MainActor

Время на прочтение 6 мин
Количество просмотров 5.2K
Блог компании OTUS Разработка под iOS *
Перевод

MainActor — это новый атрибут из Swift 5.5, который представляет из себя глобальный актор, выполняющий свои задачи в главном потоке (main thread). При создании приложений очень важно следить за тем, чтобы задачи обновления UI выполнялись в главном потоке, что при использовании нескольких фоновых потоков (background threads) иногда может быть затруднительно. Использование атрибута @MainActor поможет вам гарантировать, что ваш UI всегда будет обновляться в главном потоке.

Если вы не очень хорошо разбираетесь в акторах (Actor) в Swift, я рекомендую прочитать мою статью Акторы в Swift: как их использовать и как предотвращать состояние гонки по данным. Глобальные акторы (Global actors) ведут себя аналогично обычным акторам, и в этой статье я не буду вдаваться в подробности того, как работают обычные акторы.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Облегчаем внедрение зависимостей и модульное тестирование с помощью асинхронных функций

Время на прочтение 12 мин
Количество просмотров 1.8K
Блог компании OTUS Swift *Тестирование веб-сервисов *
Перевод

...Что, если бы мы могли сделать наш код полностью пригодным для тестирования таким образом, чтобы от нас не требовалось вводить какие-либо новые протоколы, всевозможные моки или сложные абстракции? Давайте же разберемся, как мы могли бы реализовать это, используя новые возможности async/await Swift.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 0

Async/await в Swift 5.5: асинхронность «здорового человека»

Время на прочтение 6 мин
Количество просмотров 7.7K
Разработка под iOS *Swift *
Из песочницы

Не так давно WWDC21 представила новый интерфейс асинхронности async/await. Это одно из самых важных обновлений Swift  за последнее время. Меня, как iOS-разработчика, это событие не могло оставить равнодушной. Я решила вникнуть в нюансы работы async/await и сейчас хочу поделиться своим пониманием механизма, а также показать все его внешние и некоторые внутренние преимущества.  

Для начала давайте разберемся с терминологией.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 3