Очень полезная статья для новичков с пошаговым разбором хороших практик по обеспечению параллелизма со Swift Concurrency. Реальные приложения записывают данные в локальное хранилище, удалённые сервисы и, как правило, используют изменяемое состояние. В статье создают SwiftUI приложение, которое работает с состоянием, размещённым в (придуманной) удалённой сетевой службе.
Новичкам я бы не советовал "просто" повторять все что приводится в статье, а скорее вдумчиво прочитать и повторить в своем pet-проекте подглядывая в статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Атрибут
@frozen
— маркирует enum как неизменяемые, что обеспечивает как преимущества производительности, так и повышенную стабильность, особенно в контексте разработки фреймворков. В статье подробно рассматривается использование @frozen
, объясняется его роль в языке Swift, особенно при создании библиотек или фреймворков, и то, как он помогает безопасно и эффективно обрабатывать эволюцию enum. Если коротко:@frozen
для фреймворков и библиотек, где enum не изменится@frozen
для enum, которые могут "эволюционировать"Атрибут важен для оптимизации кода и стабильности ABI. Использования
@frozen
делает кодовую базу более надежной и совместимой между версиями Swift.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Любимая фишка Xcode 16 - возможность вырезать блоки кода в отдельные файлы без их предварительного создания. Просто вырезаю содержимое, выбираю нужный каталог и вставляю его из буфера обмена. Обратите внимание, что название соответствует структуре в выделенном коде
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19
В каком соотношении у вас UI на SwiftUI и UIKit в проекте? (примерные цифры)
Anonymous Poll
17%
11%
5%
26%
13%
13%
6%
9%
👏1
SwiftData имеет очень простой API, но если вы используете Swift Сoncurrency, API SwiftData можно еще упростить. Статья описывает способ избавиться от явного использования
Context
:Sendable
типы. Sendable
определяет основные CRUD-операции с асинхронными методами.В статье так же указывается важное замечание о временных идентификаторах: новые элементы имеют временные идентификаторы до сохранения и постоянные после, это нужно держать в голове.
Несмотря на то что я приверженец использования "Pure API" без надстроек и сахара, могу признать, что данное решение имеет право на жизнь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Подробный обзор контейнера List для новичков в SwiftUI. Даже если весь проект на UIKit, можно внедрить в Debug или QA экраны конфигурации. В статье покрыты следующие темы:
Если статья покажется вам полезной, советую обратить внимание на:
Stack
, Grid
, List
и Form
#swiftui #lists #basics #tutorial
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Осознал недавно, что не все iOS разработчики слышали про KVC, особенно про ту магию, которая была в Obj-С для работы с коллекциями. Раскопал свою любимую статью про это:
Все это уже не актуально со Swift, но от этого не менее интересно и красиво:
@sum @count @avg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3
С пылу с жару делюсь с вами шикарной статьей, в редактуре которой я принимал участие. Тема оч актуальная, про on-device ML модель. Что интересно, команда придумала и реализовала решение за 3 недели? успели попробовать и отказаться от нативного Vision фреймворка. Почему отказались? Узнаете в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤2