Async await in Swift через примеры
Очень достойная статья по async-await в Swift. Один из самых эффективных способов погрузиться в новую тему-через примеры, очередь пришла и для async-await.
🔴 Асинхронные методы заменяют кложуры, делая код более читаемым и эффективным
🔴 Использование ключевого слова await обеспечивает линейный порядок выполнения, упрощая асинхронный код
🔴 Переход к асинхронному ожиданию в существующих проектах может осуществляться постепенно с помощью различных вариантов рефакторинга
🔴 Переход на Swift 6 улучшает структурированный параллелизм и устраняет возможность появления "состояния гонки"
🔴 Изучение дополнительных возможностей параллелизма в Swift может еще больше повысить эффективность и безопасность кода
Очень достойная статья по async-await в Swift. Один из самых эффективных способов погрузиться в новую тему-через примеры, очередь пришла и для async-await.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Что используется у вас в проекте?
Anonymous Poll
68%
GCD (DispatchQueue/DispatchGroup)
50%
async/await
38%
Combine
12%
Operations
🔥2
Media is too big
VIEW IN TELEGRAM
Реализация Hero анимации, используя SwiftUI NavigationTransition
Вы точно видели анимации в App Store - на WWDC24 добавили NavigationTransition в SwiftUI. Для реализации такой анимации в несколько строк. Но если остановиться на базовой конфигурации, переход получится не совсем как у Apple.
Автор в рамках статьи, на примерах допиливает эту анимацию. Все достаточно просто, но лаконично
Вы точно видели анимации в App Store - на WWDC24 добавили NavigationTransition в SwiftUI. Для реализации такой анимации в несколько строк. Но если остановиться на базовой конфигурации, переход получится не совсем как у Apple.
Автор в рамках статьи, на примерах допиливает эту анимацию. Все достаточно просто, но лаконично
👌2
На WWDC24 расширили применимость SwiftUI и для работы со скролом. Нам добавили метод onScrollGeometryChange который предоставляет всю информацию о изменении геометрии скролла:
В скором времени, можно будет отказаться от костылей с использованием GeometryReader при работе с обычным скролом
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2🤔1🎉1
С момента появления расширений для Xcode, сообщество уже создало целое множество расширений. Сегодня хочу поделиться с вами теми, которые я использую или планирую.
Какими расширениями пользуетесь вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple Developer Documentation
XcodeKit | Apple Developer Documentation
Create extensions to add commands to the Xcode source editor.
❤5
Swift 6 приносит нам новый режим работы с многопоточностью, помогающий разработчикам на этапе компиляции видеть потенциальные проблемы и условия для гонки. Преимущества данного подхода раскроются только при использовании зависимостей, поддерживающих проверки безопасной многопоточности.
Чтобы понять, какие из зависимостей уже поддерживают Swift 6 многопоточность, в индексе пакетов будет отображаться уровень поддержки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Forwarded from Android Broadcast
Получение D-U-N-S номера для мобильных разработчиков (4м) - статья с инструкцией по получению.
DUNS - это уникальный девятизначный идентификатор, присваиваемый одним из крупнейших кредитных бюро для бизнеса
#googleplay #appstore
DUNS - это уникальный девятизначный идентификатор, присваиваемый одним из крупнейших кредитных бюро для бизнеса
#googleplay #appstore
👍2
Вышло в релиз приложение iOS IQ
IQ - отличный пример пет-проекта iOS-разработчика. Если вам нравятся квизы по iOS разработке, хотите проверить свои знания по многопоточности, работе с памятью, архитектуре и множеству другого, советую это приложение!
🟣 Индивидуальная статистика
🟣 Личный ранг
🟣 Рейтинг среди игроков
🟣 История ответов и полезные ссылки
🟣 Приложение бесплатное и без встроенных покупок
IQ - отличный пример пет-проекта iOS-разработчика. Если вам нравятся квизы по iOS разработке, хотите проверить свои знания по многопоточности, работе с памятью, архитектуре и множеству другого, советую это приложение!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍8❤4🤔4🎉1👌1
Ранее, в обзоре нововведений Xcode 16, я уже рассказывал про экспериментальный режим компиляции Swift модулей, в статье приводятся реальные примеры использования и бенчмарки скорости компиляции и отладки. Первоначальные тесты показали, ускорение наблюдается не всегда, но экспериментальность такого метода подсказывает нам о возможных улучшениях в процессе получения фидбека от нас
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
1️⃣2️⃣3️⃣4️⃣5️⃣ SE-0431: isolated(any) Function Types
Swift 6 про работу с параллелизмом, в пропоузале добавляется новая возможность к функциональным значениям.
Суть проблемы:
Каждая декларация в Swift имеет некоторую четко определенную статическую изоляцию. Кложуры, однако, являются особенными. На их изоляцию влияет не только то, где они определены, но и то, что они захватывают. В данном предложении добавлена возможность проверить изолированность значения функции.
Кложур, помеченный
Добавление
Будет
Swift 6 про работу с параллелизмом, в пропоузале добавляется новая возможность к функциональным значениям.
Суть проблемы:
Каждая декларация в Swift имеет некоторую четко определенную статическую изоляцию. Кложуры, однако, являются особенными. На их изоляцию влияет не только то, где они определены, но и то, что они захватывают. В данном предложении добавлена возможность проверить изолированность значения функции.
Кложур, помеченный
@isolated(any)
, может "экспоузить" захваченную изоляцию во время выполнения.
func traverse(operation: @isolated(any) (Node) -> ()) {
let isolation = operation.isolation
}
Добавление
@isolated(any)
к замыканию означает, что оно должно вызываться с await
. Это верно, даже если оно не выходит из изоляции. Начиная со Swift 6, вывод кода типа:
Task { print("1") }
Task { print("2") }
Task { print("3") }
Будет
"1", "2", "3"
❤5
This media is not supported in your browser
VIEW IN TELEGRAM
В отличии от императивных подходов к навигации, при работе со SwiftUI создание View может происходить не так как мы думаем, исходя из опыта использования UIKit. Это приводит к инициализации экранов до того, как они действительно понадобятся. Статья показывает на примере:
Надеюсь, вы до этого уже дошли сами, это прям обязательный тер. минимум для всех кто использует SwiftUI
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1