Навалим немного базы:
[weak self]
используется для предотвращения утечек памяти в замыканиях. В обработчиках завершения [weak self]
и guard let self
используются для проверки существования self перед продолжением выполнения. Но SE-0269 позволяет использовать неявные self-захваты в ситуациях, когда замыкания не сохраняются, что снижает вероятность утечек памяти.Проблемы с [weak self] в Task
Предотвращение утечек памяти в Task
Рекомендации по использованию [weak self] в Task:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔2
Я помогаю с подготовками статей и это официально самая сложная из них, как в плане материала, так и по доработке подачи. Постарался помочь найти баланс между хардкором и капитаном очевидностью. Комментариев не много, так что либо все понятно, либо вообще ничего не понятно.
Суть рассказа - метод
swift_conformsToProtocolMaybeInstantiateSuperclasses
который значительно замедляет запуск приложения, а используется повсеместно - as?
, as!
, String(describing:)
и String(reflecting:)
.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4🤔1
Неустаревающая классика, ручное и автоматическое завершение задач в Swift, сколько провожу собесы, столько разработчики валятся на этом вопросе. Если с NSOperations и GCD еще были нюансы, то в Swift Concurrency, мне казалось, все очевидно. База:
Использование модификатора
.task
.task
запускается при появлении View и отменяется при его исчезновении.Повторение работы с модификатором
.task(id:)
.task(id:)
запускается при появлении представления и повторяется при изменении идентификатора.Проверка отмены в коде
try
или Task.checkCancellation()
.Долгоживущие задачи
DataService
.Ручная отмена задач
task.cancel()
для ручной отмены.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Не смог удержаться и не разбавить статью из техблога duolingo мемами про сам duolingo. У кого еще есть любимые мемы про сову, кидайте в комменты
Рост команды и кодовой базы
Использование макросов Swift
Результаты
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1