Занятие 22 - Классы, структуры, перечисления | Часть 1 - Теория
HTML-код
- Опубликовано: 5 авг 2024
- В этом занятии знакомимся с классами, структурами и перечислениями. Выясняем зачем это всю нужно, что общего и какие отличия. Это занятие теоретическое, в нем мы затрагиваем Value Type и Reference Type в swift. Это самое первое занятие, касательно ООП, в курсе "Разработка на swift под iOS".
Присоединяйтесь к сообществу!
Телеграмм канал: t.me/bwswift
Телеграмм чат: t.me/bwswiftchat
Поддержите канал на патреоне!
/ bwswift
USDT (TRC-20)
TRXxTbDzVdaT5gt5PCnyS8iCyGDd2BXwLd
00:00 Вступление
00:37 Зачем нужны классы, структуры и перечисления
01:50 Объявление класса
02:10 Объявление структуры
02:21 Объявление enum
02:36 Что мы можем делать в классах структурах и перечислениях
05:00 Использование в коде
05:18 Enum обзор
06:34 Общее/различия структур, классов и перечислений
07:34 Отличия в инициализаторах
10:37 Второе отличие структур и классов
10:53 Value и Reference types
14:54 Reference тип
18:31 Что ждать в следующем видео
18:48 Что же выбрать? Класс? Структуру? Enum?
21:13 Итоги
#swift #ios #class #struct #enum
Мне кажется это лучший iOS курс! Слав, продолжай 😉
согласен, супер
удивительно, я уже изучил весь этот материал ранее, но теперь он наконец-то разложился по полочкам.
Спасибо вам!
Супер
Чоловіче, ти просто неймовірний !!!!! Дякую тобі за твою працю.
💙💛
Гениальный преподаватель - большое спасибо!
❤️
Наконец-то я нашел тот курс, в одном из уроков которого говорят про value type, reference type, stack и кучу!
Дальше больше
Спасибо, что вернулись! хотя бы в двух словах написали, почему пропали на год:)
записал видео с ответом :)
c возвращением!
Внеочередное спасибо! И много учеников!
Вот это да! С возвращением!!!
Спасибо за лекцию!
Чётко, спасибо 🙏🏽
Ура! Я очень ждал, спасибо Вячеслав!
очень жду лекцию по работе памяти!!
Дождался))
Слава, спасибо!
Ты очень крутой!
Жду еще видео
Лайк!
👍
спасибо огромное
Ого, с возвращением)
С возвращением!
Спасибо за видео!❤
👍
курс и в самом деле лучший. спасибо за труды, когда нибудь обязательно поддержу гривной, когда начну что нибудь зарабатывать))
❤️
Вячеслав, спасибо Вам огромное!
Дальше больше!
Дякую, роблю перші кроки в Swift і ваші уроки дуже гарно пояснюють багато моментів
Миру та міцного здоров’я💙💛
Дякую! Все буде Укрїна!
Отлично! Спасибо большое!
🙇♂️
очень крутой урок!
Благодарю!
Спасибо!
Пожалуйста :)
давно же вас не было))
🔥
Спасибо папа, я обязательно стану айос девом и куплю бмв, ты лучший, продолжай делать уроки я поддерживаю лайком и комментом!
Люк! Я не твой отец!
iOs девы покупают iOnic5 :)
щодо оптимізації пам'яті треба ще додати, що структури за замовчуванням теж передають посилання в пам'ять, як і класи, а копіюються у пам'яті лише коли змінюється їх значення.
тобто якщо ми візьмемо структуру об'ємом 50mb і присвоємо її значення сотні різних констант або немутуючих на даний момент змінних, зайнята пам'ять все одно залишиться 50mb. структура продублюється в пам'яті лише коли промутує.
Зразу видно що Слава добра людина) ну не можуть котики і собачки прожити без нього довше 15 хвилин... починають проситися у кадр)))
❤️
Вячеслав, спасибо за видео.
Вопрос: могут ли структуры иметь несколько ссылок на один и тот же экземпляр?
Мне кажется "могут" используя символ & перед названием объекта. Но точно в этом не уверен.
В swift это присутствует при использовании ключевого слова inout в параметрах функции.
Актуально было бы сделать Struct Class Actor и как последний работает под капотом. А так все курсы очень качественно доносят информацию.
Про акторы нужно рассказывать после многопоточности. Тут есть сложности
@@bwswift как раз это все разбираю . Штуки очень классные особенно то как они решают состояние гонки. Интересно когда это будут спрашивать на собесах ? =)
@@hashcat5721 уже спрашивают
Вячеслав, а в Swift работают с указателями??? В Objective-C вся работа строится на указателях и по указателю понятно - является ли переменная указателем или значением и как она распределяется в памяти.
Работают, но редко. Как исключение.
Правильно ли я понял
Struct - создается во время компиляции, отдельно для каждого потока и привязана к кэш , хранит value типы и ссылки на reference type
Class - инициализируется во время запуска приложения динамическое выделение памяти и общая для всех потоков
Struct создается в рантайме когда вызывается инициализатор и кладется в стек. Размер стек статический и не меняется, положив туда много данных можно получить ошибку стековерфлоу. Любая передача этой структуры будет вызывать копирование, в значит при передаче между потоками будет происходить копирование.
Класс создается так же в рантайме в строчке инициализации. Между потоками передается только указатель на одну и ту же память. Память выделяется и освобождается динамически (в куче)
@@bwswift спасибо большое.
Структуры быстрее работают, чем классы
Есть исключения
Вячеслав, чем вызван такой большой перерыв в лекциях?
Заходите в телеграмм канал, там есть все ответы на вопросы.
Яка компетенція в даного автора? Просто уточнити хотів би, щоб розуміти, чи людина знає, про що говорить.
В шапці канала є лінка на лінкедін.
Також можете зайти в телеграм чат та спитати у людей з якими я працював чи яких навчив. На момент зйомки маю 6 років досвіду та позицію Тех Ліда в компанії.