TGViewer
AppFiles - Mobile Development AppFiles - Mobile Development @applib · 2.18K subscribers
Post #3928 542
Copy-on-write позволит вам узнать ВСЕ о внутреннем устройстве Swift

Статья подробно разбирает механизм Copy-on-Write (CoW) в Swift, который является ключевой оптимизацией для работы с типами значений, такими как массивы и словари. Автор объясняет, что CoW позволяет избежать ресурсозатратного копирования данных при каждой передаче переменной или константы. Вместо создания немедленного дубликата в памяти, несколько переменных используют одну и ту же область данных в «куче» до тех пор, пока одна из них не попытается внести изменения. Только в момент модификации происходит реальное копирование, что позволяет Swift сочетать безопасность значимых типов с производительностью ссылочных.

Помимо теоретических основ, в материале рассматриваются внутренние аспекты реализации этого механизма и работа с памятью (стек против кучи). Автор демонстрирует, как разработчики могут самостоятельно внедрить CoW для собственных структур данных, используя приватный класс-обертку и системную функцию isKnownUniquelyReferenced. Этот подход позволяет вручную контролировать количество ссылок на объект и выполнять копирование только тогда, когда на данные ссылается более одного владельца. Таким образом, изучение CoW дает глубокое понимание того, как Swift оптимизирует управление памятью «под капотом».

Статья: https://levelup.gitconnected.com/copy-on-write-teaches-you-everything-about-swift-internals-f8807b58bfd6
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
  • 👍 1
More from @applib
  1. Oct 14, 2026Куда девается место на диске: Xcode, рабочие деревья и ИИ-агенты Несколько недель назад мо…
  2. Oct 14, 2026Как эффективно отлаживать код, когда вы перестали его понимать С развитием AI-кодинга возн…
  3. Oct 14, 2026CodexKit - SDK для создания агентов CodexKit — это SDK на Swift для встраивания агентов в…
  4. Oct 13, 2026Куда делись все вакансии для Android-разработчиков? Я всё думаю о том, насколько иначе рын…
  5. Oct 13, 2026Мы научили агента писать тесты так, как их пишет наша команда Каждому iOS-разработчику зна…
  6. Oct 13, 2026Pixelate - размытие контента в Compose Pixelates преобразует контент Compose Multiplatform…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →