This media is not supported in your browser
VIEW IN TELEGRAM
XCTest использует простые комментарии для добавления контекста в тестовые примеры. Swift Testing предоставляет специальный признак
bug для передачи краткого описания ошибки. Ключевым преимуществом является видимость названия ошибки в результатах тестирования и в интерфейсе Xcode. Особенно удобно, если вы придерживаетесь TDD, предоставляя доказательства устранения ошибки своими тестами. В статье приводится сравнение с XCTest, скорее, для того чтобы показать что именно заменяет новый синтаксис. Врядли кто-то осознанно выберет XCTest для нового проекта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2⚡1
Очень полезная статья для новичков с пошаговым разбором хороших практик по обеспечению параллелизма со 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