creator cover Vladimir Buikliskii
Vladimir Buikliskii

Vladimir Buikliskii 

iOS разработчик, автор ТГ канала @swiftynew

93subscribers

27posts

goals4
18 of 30 paid subscribers
Наберу 30 подписчиков и начну разбирать алгоритмы
1 of 3
$4.32 of $432 raised
Сбор на верстку и выпуск книги "100 вопросов для iOS-разработчика". Средства пойдут на профессиональную верстку книги и ее последующий выпуск.

About

Привет! Меня зовут Владимир. Я iOS-разработчик и автор Telegram-канала о iOS-разработке "SwiftyGroup". Сейчас я работаю над завершением книги, в которой собраны самые популярные вопросы и ответы с реальных собеседований по iOS.
Поддержите мои проекты на Boosty!
Я перевожу официальную документацию Swift на русский язык, а также популярные статьи об iOS-разработке. Кроме того, на Boosty будут публиковаться вопросы и решения с реальных собеседований.
Контент обновляется еженедельно, поэтому каждую неделю вас ждет новая полезная информация и материалы.

Главный бонус для подписчиков — бесплатная онлайн-версия книги "100 вопросов для iOS-разработчика", которую вы получите раньше официального релиза на других платформах!
В 10 раз быстрее CI-сборки Xcode с помощью slot-кэширования
Level required:
Базовый уровень
Когда стоит использовать actor?
Level required:
Базовый уровень
What’s New in UIKit (iOS 26)
Level required:
Базовый уровень
Derived Data: 5 ошибок, которые совершают iOS-разработчики
Level required:
Базовый уровень
Современная блокировка Swift: мьютекс и фреймворк синхронизации
Level required:
Базовый уровень

Реализация размытия при многозадачности в SwiftUI

https://www.createwithswift.com/implement-blurring-when-multitasking-in-swiftui/
Улучшение конфиденциальности пользователей является важной частью разработки современных приложений. В этом руководстве рассказывается, как создать приложение SwiftUI, которое автоматически размывает экран при переходе в режим многозадачности или в фоновый режим, что является полезной функцией для защиты конфиденциальной информации.
Мы рассмотрим, как реализовать этот подход с использованием примера, в котором «секреты» разработчика размываются, когда приложение не активно. Следуя пошаговому руководству, вы научитесь применять эту технику конфиденциальности в своих приложениях SwiftUI.
Перед тем, как начать
Прежде чем начать, убедитесь, что у вас есть базовые знания Swift и SwiftUI, особенно в области управления сценами и фазами сцен. Если вы не знакомы с этими концепциями, рекомендуется ознакомиться с документацией Apple по SwiftUI.
Документация Apple по сценам
Декларация групп пользовательских интерфейсов, составляющих части вашего приложения.
Настройка проекта
Для демонстрации размытия экрана мы используем простое приложение под названием My Secrets, которое скрывает конфиденциальную информацию, когда приложение переходит в фоновый режим.
Unit-тестирование async/await кода в Swift
Level required:
Базовый уровень
Объясняем async let: параллельный вызов асинхронных функций
async let является частью фреймворка конкурентного программирования в Swift и позволяет асинхронно создавать константы
Level required:
Базовый уровень
Task.sleep() vs. Task.yield(): объяснение различий
И Task.sleep(), и Task.yield() приостанавливают выполнение, но делают это по-разному.
Level required:
Базовый уровень

Использование MainActor в Swift для выполнения задач в главном потоке

https://www.avanderlee.com/swift/mainactor-dispatch-main-thread/
MainActor — это новый атрибут, представленный в Swift 5.5 в качестве глобального актора, который предоставляет исполнитель (executor), выполняющий свои задачи в главном потоке. При создании приложений крайне важно выполнять операции, связанные с обновлением пользовательского интерфейса (UI), в главном потоке, что может быть проблематично при работе с несколькими фоновыми потоками. Использование атрибута @MainActor поможет убедиться, что ваш UI всегда обновляется в главном потоке.
Если вы новичок в теме акторов (Actors) в Swift, рекомендую ознакомиться с моей статьёй «Actors in Swift: how to use and prevent data races». Глобальные акторы работают похожим образом, поэтому в этой статье мы не будем углубляться в то, как устроены акторы в целом.
Что такое MainActor?
MainActor — это глобально уникальный актор, который выполняет свои задачи в главном потоке. Вы можете использовать его для свойств, методов, экземпляров и замыканий, чтобы гарантировать выполнение задач именно в главном потоке. Предложение SE-0316 Global Actors представило main actor в качестве примера глобального актора, который наследуется от протокола GlobalActor.
Понимание глобальных акторов (Global Actors)
Прежде чем мы перейдём к тому, как использовать MainActor в вашем коде, важно понять концепцию глобальных акторов. Их можно рассматривать как синглтоны: существует ровно один такой экземпляр. Мы можем определить глобальный актор следующим образом:
@globalActor
actor SwiftLeeActor {
static let shared = SwiftLeeActor()
}
Свойство shared — это требование протокола GlobalActor, гарантирующее наличие глобально уникального экземпляра актера. После определения вы можете использовать данный глобальный актор во всём проекте точно так же, как и любой другой актор:
@SwiftLeeActor
final class SwiftLeeFetcher {
// ..
}
Везде, где вы используете атрибут глобального актора, синхронизация будет происходить через его общий экземпляр (shared), чтобы обеспечить взаимное исключение при доступе к объявлениям (например, свойствам и методам). Результат аналогичен работе акторов в целом, как описано в статье «Actors in Swift: how to use and prevent data races».
Subscription levels3

Базовый уровень

$1.43 per month
Подписавшись на базовый уровень, вы получите:
1) Доступ к переводу популярных статей на тему iOS-разработки.

Стандартный уровень

$5.7 per month
Подписавшись на стандартный уровень, вы получите:
1) Доступ к переводу официальной документации Swift(Notion).
2) Доступ к переводу популярных статей на тему iOS-разработки.
3) Подробный список библиотек с инструкциями по их настройке для удобной работы с проектами(Notion -  https://www.notion.so/).
4) Вопросы и ответы из реальных собеседований.
5) Ранний доступ к онлайн-версии книги "100 вопросов для iOS-разработчика" до официального релиза.(Сечйас  доступен черновик)
6) Доступ к закрытому чату.

Продвинутый уровень(Менторство)

$72 per month
Подписавшись на продвинутый уровень, вы получите:
1. Все материалы и преимущества стандартного уровня.
2.  4 часа личных консультаций в месяц (онлайн-созвон или разбор кода/проектов).
Go up