TGViewer
iOS Dev iOS Dev @iosdev · 7.91K subscribers
Post #1738 3.61K
Основы работы с памятью в Swift: size, stride, alignment

Одной из основных задач на моей текущей работе является работа с бинарным протоколом (когда-то давно выбрали его не только потому что он более компактен по сравнению с традиционными вариантами вроде JSON или XML), но и не в меньшей степени из-за скорости и эффективности обработки (а ещё безопасности).

При работе с памятью для новичков важно понимать всего лишь 3 основных свойства: это size, stride и alignment.

И хотя с size всё кажется очевидным, но даже в доках есть важная сноска:

Размер типа не включает в себя динамически выделенную память. В частности, MemoryLayout<T>.size, когда T является типом класса, остается неизменным независимо от количества сохраненных свойств T.


Для stride как и следует из названия:
это количество байт от начала одного экземпляра T до начала следующего при хранении в непрерывной памяти или в `Array<T>`.


А вот что такое alignment? И вообще что такое смещение значения и как оно влияет?

📖 Делюсь простой и понятной статьёй, в которой буквально на пальцах объясняют все эти свойства, а ещё какие сложности могут возникнуть.

И напомню про этот пост c разбором MemoryLayout.

✅ А если вы хотите разобраться с темой на более детальном уровне, то вам сюда.

😃 iOS Dev
  • 🔥 21
  • ❤‍🔥 5
  • ✍ 4
  • ⚡ 1
  • 👍 1
  • 👏 1
  • 💯 1
  • 🏆 1
More from @iosdev
  1. Oct 5, 2026iPhone Duo UIKit Q&A: большая подборка ответов от инженеров Apple 📖 В своём блоге Антон с…
  2. Oct 1, 2026SwiftUI Charts и динамическое маскирование Одним из применений для диаграмм является разны…
  3. Sep 29, 2026⚡️Сегодня ночью десятки тысяч приложений массово начали крашиться из-за либы для аналитики…
  4. Sep 28, 2026От pbxproj к xcproj: разбор конфигураций проекта 📖 В этой статье можно посмотреть на новы…
  5. Sep 25, 2026Симулятор iPhone Duo: тестирование и оптимизация приложения Как только был анонсирован iPh…
  6. Sep 24, 2026Настоящая причина, почему на презентации не показали, как выглядит звонок с iPhone Duo. 😃…
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 →