ARC в Swift
🎉 Всех с прошедшим Днем программиста! И чтобы не забывать основы - принес статью про механизм подсчета ссылок.
❓
⚠️ Циклы сильных ссылок (
🔗
⚙️ ARC работает на уровне
✔️ Автоматический подсчет ссылок упрощает управление памятью, избавляя разработчиков от необходимости вручную управлять ссылками, что делает код более лаконичным и понятным.
ARC (Automatic Reference Counting)
- это метод управления памятью в Swift
, который автоматически отслеживает количество сильных ссылок на объекты и освобождает их, когда счётчик достигает нуля.retain cycles
) могут возникать, когда два объекта ссылаются друг на друга, что мешает ARC освободить память. Это может привести к утечкам памяти.Weak
ссылки не учитываются ARC при подсчёте ссылок, что помогает избежать retain cycles
, в то время как unowned
ссылки никогда не становятся nil
, но могут крашнуть приложение при обращении к уничтоженному объекту.SIL (Swift Intermediate Language)
, где компилятор автоматически добавляет инструкции подсчёта ссылок, что делает код более чистым и безопасным.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2👍2
Swift 6.2 Released
⚡️ Swift 6.2 выпущена 15 сентября. Кратко, что нового.
❓ Упрощенное написание безопасного параллельного кода с помощью новых атрибутов, таких как
🔒 В новой версии добавлены типы
🔥 Расширение Swift для VS Code теперь официально подтверждено и включает функции, такие как фоновая индексация и встроенная отладка с LLDB.
❓ Swift 6.2 теперь поддерживает WebAssembly, позволяя создавать приложения для браузеров и других сред выполнения.
⚙️ Библиотеки Swift 6.2 включают новый пакет
@concurrent,
и делает код однопоточным по умолчанию. InlineArray и Span,
которые обеспечивают безопасный доступ к памяти и высокую производительность без дополнительных затрат. Subprocess
для управления внешними процессами и улучшенный API для NotificationCenter.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡6❤2👍2🔥1
Не могу не поделиться важной и крутой инфой: мой друг выпустил 10 часовой бесплатный курс!!! про iOS разработку для начинающих 🔥
Если вы начали изучать Swift – обязательно к просмотру. И не забывайте делиться с теми, кто тож хочет начать этот увлекательный путь.
https://www.youtube.com/watch?v=SUKocLwjA5k
Если вы начали изучать Swift – обязательно к просмотру. И не забывайте делиться с теми, кто тож хочет начать этот увлекательный путь.
https://www.youtube.com/watch?v=SUKocLwjA5k
YouTube
Swift - полный курс для начинающих iOS разработчиков. Это БАЗА – Теория, практика, домашки
Swift - полный курс для начинающих. База для iOS разработчиков, которые хотят построить успешную карьеру
Помощь с домашками, обучением и трудоустройством по iOS разработке https://t.iss.one/ios_learning_bot
Таймкоды будут дополняться
00:00 Что будет в курсе…
Помощь с домашками, обучением и трудоустройством по iOS разработке https://t.iss.one/ios_learning_bot
Таймкоды будут дополняться
00:00 Что будет в курсе…
🔥8👍5❤2
Как Swift Runtime влияет на производительность iOS-приложений
⚡️ Тут наши ребята рассказывают про производительность - супер объемный и полезный обзор. Вот лишь несколько моментов.
⚙️
‼️ Метод
⚠️ Рекомендуется избегать использования
🤫 Использование
соответствия для каждого протокола.
💯 Рекомендую к прочтению.
Swift Runtime
играет ключевую роль в производительности iOS-приложений, особенно в управлении памятью и проверке соответствия типов, что может значительно замедлить работу приложения.swift_conformsToProtocolMaybeInstantiateSuperclasses
является узким местом производительности, так как он может занимать от 1 до 3 мс на каждом вызове, особенно при использовании операторов as?
и as!
или методов String(describing:)
и String(reflecting:)
.String(describing:)
и операторов as?
и as!
, а также минимизировать использование type-generic-constraint
-ов для повышения производительности приложения.type-generic-constraint
-ов может значительно замедлить приложение, так как каждый вызов метода swift_conformsToProtocolMaybeInstantiateSuperclasses
требует проверки соответствия для каждого протокола.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
Swift Default Value in String Interpolations
🔥 Swift 6.2 улучшает интерполяцию строк с опциональными значениями, позволяя использовать параметр значения по умолчанию.
❓ При интерполяции строк с опционалами компилятор выдает предупреждение, если не указано значение по умолчанию.
🤫 Теперь можно использовать новый параметр по умолчанию в строке, чтобы она не зависела от типа опционального значения. Однако, он не будет работать с локализацией:
LocalizedStringKey
не поддерживает такой формат.
// The count is not set
Text("The count is \(count, default: "not set")")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🪄 Вжух и iOS-митап от Сбера
1 октября встречаемся на митап для iOS-разработчиков в офисе Сбера, чтобы обсудить самые актуальные задачи: как сделать iOS-приложения быстрее, стабильнее и удобнее для пользователей.
В программе:
🟢 спикеры из Сбера, Авито и SberDevices
🟢 подходы к оптимизации процессов и производительности
🟢 решения, которые можно внедрить в своей команде и даже в жизни
🟢 идеи, которые помогают экономить время и ресурсы
Формат: онлайн и офлайн
Программа и регистрация по ссылке
1 октября встречаемся на митап для iOS-разработчиков в офисе Сбера, чтобы обсудить самые актуальные задачи: как сделать iOS-приложения быстрее, стабильнее и удобнее для пользователей.
В программе:
🟢 спикеры из Сбера, Авито и SberDevices
🟢 подходы к оптимизации процессов и производительности
🟢 решения, которые можно внедрить в своей команде и даже в жизни
🟢 идеи, которые помогают экономить время и ресурсы
Формат: онлайн и офлайн
Программа и регистрация по ссылке
❤1