Занятие 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

Комментарии • 65

  • @itnadivane
    @itnadivane 2 года назад +27

    Мне кажется это лучший iOS курс! Слав, продолжай 😉

    • @athn666
      @athn666 2 года назад +1

      согласен, супер

  • @-weird_thing-
    @-weird_thing- 3 месяца назад

    удивительно, я уже изучил весь этот материал ранее, но теперь он наконец-то разложился по полочкам.
    Спасибо вам!

    • @bwswift
      @bwswift  3 месяца назад

      Супер

  • @loganmefisto6051
    @loganmefisto6051 5 месяцев назад +1

    Чоловіче, ти просто неймовірний !!!!! Дякую тобі за твою працю.

    • @bwswift
      @bwswift  5 месяцев назад

      💙💛

  • @dmitryshulepov4140
    @dmitryshulepov4140 9 месяцев назад +1

    Гениальный преподаватель - большое спасибо!

    • @bwswift
      @bwswift  9 месяцев назад

      ❤️

  • @Crocopizdel
    @Crocopizdel Год назад +1

    Наконец-то я нашел тот курс, в одном из уроков которого говорят про value type, reference type, stack и кучу!

    • @bwswift
      @bwswift  Год назад

      Дальше больше

  • @CreoPride
    @CreoPride 2 года назад +3

    Спасибо, что вернулись! хотя бы в двух словах написали, почему пропали на год:)

    • @bwswift
      @bwswift  2 года назад

      записал видео с ответом :)

  • @mex5341
    @mex5341 2 года назад +2

    c возвращением!

  • @user-iOSnick-dev
    @user-iOSnick-dev 9 месяцев назад

    Внеочередное спасибо! И много учеников!

  • @user-ks3le1md6y
    @user-ks3le1md6y 2 года назад +1

    Вот это да! С возвращением!!!

  • @moos625w
    @moos625w 2 года назад

    Спасибо за лекцию!

  • @bulgakov1991
    @bulgakov1991 2 года назад

    Чётко, спасибо 🙏🏽

  • @trols19not94dead
    @trols19not94dead 2 года назад

    Ура! Я очень ждал, спасибо Вячеслав!

  • @user-up2fz5gz6x
    @user-up2fz5gz6x 2 года назад +1

    очень жду лекцию по работе памяти!!

  • @SergSphinx
    @SergSphinx 2 года назад

    Дождался))

  • @This_KEKO
    @This_KEKO 2 года назад

    Слава, спасибо!
    Ты очень крутой!
    Жду еще видео

  • @takedaheroku
    @takedaheroku 8 месяцев назад

    Лайк!

  • @zipski
    @zipski 2 года назад

    спасибо огромное

  • @danya4462
    @danya4462 2 года назад

    Ого, с возвращением)

  • @pickleteach1920
    @pickleteach1920 2 года назад

    С возвращением!

  • @dinachernykh5702
    @dinachernykh5702 Год назад

    Спасибо за видео!❤

  • @ruslanvolchanskiy3199
    @ruslanvolchanskiy3199 Год назад

    курс и в самом деле лучший. спасибо за труды, когда нибудь обязательно поддержу гривной, когда начну что нибудь зарабатывать))

  • @den6335
    @den6335 2 года назад

    Вячеслав, спасибо Вам огромное!

    • @bwswift
      @bwswift  2 года назад

      Дальше больше!

  • @bronislavrozbitskiy852
    @bronislavrozbitskiy852 2 года назад

    Дякую, роблю перші кроки в Swift і ваші уроки дуже гарно пояснюють багато моментів
    Миру та міцного здоров’я💙💛

    • @bwswift
      @bwswift  2 года назад

      Дякую! Все буде Укрїна!

  • @AdamTabiev
    @AdamTabiev 9 месяцев назад

    Отлично! Спасибо большое!

    • @bwswift
      @bwswift  9 месяцев назад

      🙇‍♂️

  • @SadSitizen
    @SadSitizen 2 года назад

    очень крутой урок!

    • @bwswift
      @bwswift  2 года назад

      Благодарю!

  • @sergeirodin7847
    @sergeirodin7847 2 года назад

    Спасибо!

    • @bwswift
      @bwswift  2 года назад

      Пожалуйста :)

  • @user-yw3jq2uc8b
    @user-yw3jq2uc8b 2 года назад

    давно же вас не было))

  • @vasiario
    @vasiario Год назад

    🔥

  • @ArthurKozik
    @ArthurKozik 2 года назад +2

    Спасибо папа, я обязательно стану айос девом и куплю бмв, ты лучший, продолжай делать уроки я поддерживаю лайком и комментом!

    • @bwswift
      @bwswift  2 года назад +2

      Люк! Я не твой отец!

    • @EugeneChopenko
      @EugeneChopenko 2 года назад +2

      iOs девы покупают iOnic5 :)

  • @illia.yehorov
    @illia.yehorov 2 года назад

    щодо оптимізації пам'яті треба ще додати, що структури за замовчуванням теж передають посилання в пам'ять, як і класи, а копіюються у пам'яті лише коли змінюється їх значення.
    тобто якщо ми візьмемо структуру об'ємом 50mb і присвоємо її значення сотні різних констант або немутуючих на даний момент змінних, зайнята пам'ять все одно залишиться 50mb. структура продублюється в пам'яті лише коли промутує.

  • @user-sq3jx1ip3d
    @user-sq3jx1ip3d 6 месяцев назад

    Зразу видно що Слава добра людина) ну не можуть котики і собачки прожити без нього довше 15 хвилин... починають проситися у кадр)))

    • @bwswift
      @bwswift  6 месяцев назад

      ❤️

  • @alejandrosevero7265
    @alejandrosevero7265 2 года назад

    Вячеслав, спасибо за видео.
    Вопрос: могут ли структуры иметь несколько ссылок на один и тот же экземпляр?
    Мне кажется "могут" используя символ & перед названием объекта. Но точно в этом не уверен.

    • @bwswift
      @bwswift  2 года назад

      В swift это присутствует при использовании ключевого слова inout в параметрах функции.

  • @hashcat5721
    @hashcat5721 Год назад

    Актуально было бы сделать Struct Class Actor и как последний работает под капотом. А так все курсы очень качественно доносят информацию.

    • @bwswift
      @bwswift  Год назад

      Про акторы нужно рассказывать после многопоточности. Тут есть сложности

    • @hashcat5721
      @hashcat5721 Год назад

      @@bwswift как раз это все разбираю . Штуки очень классные особенно то как они решают состояние гонки. Интересно когда это будут спрашивать на собесах ? =)

    • @bwswift
      @bwswift  Год назад

      @@hashcat5721 уже спрашивают

  • @electronic008
    @electronic008 9 месяцев назад

    Вячеслав, а в Swift работают с указателями??? В Objective-C вся работа строится на указателях и по указателю понятно - является ли переменная указателем или значением и как она распределяется в памяти.

    • @bwswift
      @bwswift  9 месяцев назад

      Работают, но редко. Как исключение.

  • @hashcat5721
    @hashcat5721 Год назад

    Правильно ли я понял
    Struct - создается во время компиляции, отдельно для каждого потока и привязана к кэш , хранит value типы и ссылки на reference type
    Class - инициализируется во время запуска приложения динамическое выделение памяти и общая для всех потоков

    • @bwswift
      @bwswift  Год назад

      Struct создается в рантайме когда вызывается инициализатор и кладется в стек. Размер стек статический и не меняется, положив туда много данных можно получить ошибку стековерфлоу. Любая передача этой структуры будет вызывать копирование, в значит при передаче между потоками будет происходить копирование.
      Класс создается так же в рантайме в строчке инициализации. Между потоками передается только указатель на одну и ту же память. Память выделяется и освобождается динамически (в куче)

    • @hashcat5721
      @hashcat5721 Год назад +1

      @@bwswift спасибо большое.

  • @maxzolotv2804
    @maxzolotv2804 8 месяцев назад

    Структуры быстрее работают, чем классы

    • @bwswift
      @bwswift  8 месяцев назад

      Есть исключения

  • @hotremz
    @hotremz 2 года назад

    Вячеслав, чем вызван такой большой перерыв в лекциях?

    • @bwswift
      @bwswift  2 года назад

      Заходите в телеграмм канал, там есть все ответы на вопросы.

  • @janehotnorth468
    @janehotnorth468 13 дней назад +1

    Яка компетенція в даного автора? Просто уточнити хотів би, щоб розуміти, чи людина знає, про що говорить.

    • @bwswift
      @bwswift  10 дней назад

      В шапці канала є лінка на лінкедін.
      Також можете зайти в телеграм чат та спитати у людей з якими я працював чи яких навчив. На момент зйомки маю 6 років досвіду та позицію Тех Ліда в компанії.