Не знаю почему, но часто разработчики забывают о ключевом слове
defer
. Он позволяет отложить выполнение блока кода до выхода из текущей области. Такое Откладывание полезно при написании надежного и читабельного кода. Его можно можно и нужно применять и в асинхронном контексте, как рассмотрено в статье:loadItems
в поисковом сервисе, который использует базу данных API и требует закрытия соединения после выполнения операций.Itemlist
сервис, который использует асинхронные запросы для загрузки элементов и отслеживает состояние загружаемых задач.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Одно из неожиданных преимуществ использования навигации SwiftUI, ее полная интеграция с Codable:
Ограничения и рекомендации:
От себя ещё добавлю, что любое декодирование маршрута это потенциальная уязвимость и нужно заранее продумать, есть ли маршруты для декодирования которых требуются условия, например декодирование экрана за пейволом 😏
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Отличный гайд от серф студии про практические навыки использования инструментов отладки SwiftUI. Instruments SwiftUI собирает данные о view, view properties, Core Animation Commits, Time Profiler и Hangs.
Использование Core Animation Commits:
Использование Hangs:
Итоги:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
Каким бы антипаттерном не был синглтон, но про него продолжают писать и спрашивать. Синглтоны вызывают проблемы, портят тестируемость и увеличивают связанность. Предпочтительнее явная передача зависимостей.
Проблемы синглтона:
@unchecked Sendable
для временного решения проблемУ вас есть синглтоны в продуктах? 👍👎
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23👎5❤2
Простая статья для начала недели про отрисовку символов на холсте. Холст - тип представления для рисования динамической графики в SwiftUI. Главная особенность - обработка рендеринга сложных фигур эффективнее, чем создание нескольких вьюх
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3