«Swift Method Dispatch»- Вероника Тишковская | SoftTeco iOS Talks

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ก.พ. 2025
  • ⚙️ Диспетчеризация методов в Swift / Swift Method Dispatch
    🔹 Диспетчеризация в Swift и ее виды
    🔹 Value vs Reference Types в Swift
    🔹 Примеры кода
    Тему разобрала Вероника Тишковская в рамках проекта SoftTeco iOS Talks ⚡️
    #SoftTecoiOSTalks #SoftTeco #SoftTecoTeam #iOS #Swift
    ---------------------------------------------
    Наши соц.сети
    Telegram SoftTeco Team- t.me/softteco_...
    Instagram- / softteco.community
    VK- softteco
    FB- / softtecoteam
    Telegram-чат комьюнити «Третья среда программиста»- t.me/Sredaprog...

ความคิดเห็น • 40

  • @Softtecoteam
    @Softtecoteam  ปีที่แล้ว

    Вот немного интересной информации по теме диспатчей)
    developer.apple.com/swift/blog/?id=27
    betterprogramming.pub/a-deep-dive-into-method-dispatches-in-swift-65a8e408a7d0
    developer.apple.com/videos/play/wwdc2016/416/

  • @artyom5602
    @artyom5602 ปีที่แล้ว +7

    Лучшее видео о Dispatch

    • @janerke.u
      @janerke.u หลายเดือนก่อน

      пересматриваю иногда когда начинаю забывать и путаться, все встает на свои места)

  • @ИванКрешихин-й2б
    @ИванКрешихин-й2б 2 ปีที่แล้ว +19

    Очень круто! Без воды, все кратко и по существу!

    • @Softtecoteam
      @Softtecoteam  2 ปีที่แล้ว +1

      Спасибо, передадим спикеру)

  • @woodensn2020
    @woodensn2020 ปีที่แล้ว +7

    Спасибо! Перед собеседованием освежить память, самое то!

  • @polinavetrova5574
    @polinavetrova5574 2 ปีที่แล้ว +6

    Спасибо большое! Кратко и понятно, с примерами, наконец в голове уложилось)

    • @Softtecoteam
      @Softtecoteam  2 ปีที่แล้ว

      Заходите к нам еще)

  • @Kurortn1y
    @Kurortn1y 4 หลายเดือนก่อน

    разьеб , топ объяснение ! спасибо

  • @mrunicorn-p4x
    @mrunicorn-p4x ปีที่แล้ว +1

    Спасибо за понятное объяснение)

  • @АнтонКартель
    @АнтонКартель 2 ปีที่แล้ว +3

    Лайк перед просмотром!!!

  • @vladislavkulikov7125
    @vladislavkulikov7125 2 ปีที่แล้ว +2

    Коротко и просто. Спасибо!

    • @Softtecoteam
      @Softtecoteam  2 ปีที่แล้ว

      Спасибо, заходите к нам еще)

  • @Kolobashkav
    @Kolobashkav ปีที่แล้ว +1

    Очень круто, самое лучшее объяснение

    • @Softtecoteam
      @Softtecoteam  ปีที่แล้ว +1

      Спасибо, мы старались)

  • @annaorlova5942
    @annaorlova5942 ปีที่แล้ว +3

    Офигенное видео, спасибо большое

    • @Softtecoteam
      @Softtecoteam  ปีที่แล้ว

      Спасибо, заходите к нам еще)

  • @Swcake1
    @Swcake1 2 ปีที่แล้ว +2

    Классная идея с примерами для самопроверки

  • @stgregor2793
    @stgregor2793 7 หลายเดือนก่อน

    Вопрос по Virtual таблице. В указанных таблицах на 6:04 указаны одинаковые адреса для Parent & Child (0xA00). Было сказано, что таблица копируется от родительского для дочернего класса. Но не должны ли поменяться адреса для самих таблиц?
    Условно в таблице Parent адрес для someMethod это 0x121, что будет происходить когда в рантайме будет триггер этой функции и она пойдёт по адресу таблицы? Ранлуп будет обрабатывать 0xA00, он дёрнет метод по 0х121, хотя вызов был из дочернего класса.
    Опечатка или фича? Подскажите, пожалуйста, интересно

  • @dmitry3881
    @dmitry3881 9 หลายเดือนก่อน

    Возможно тупой вопрос, но почему witness только у эпла, ведь у других языков есть "интерфейсы" (это же аналоги протоколов?)?

  • @UmidzhonOchilov
    @UmidzhonOchilov ปีที่แล้ว

    Спасибо за разбор темы. Там так же приведён важный параметр - относительное время на диспетчеризацию, чтобы понимать примерные масштабы и не терять голову с оптимизациями там, где это не требуется.
    И остался вопрос - не изучили ли вы методы определения диспетчеризации? Вижу только один способ - просмотреть сгенерированный assembler'ный код. Но может есть у XCode встроенный инструмент, юзающий Swift Intermediate Language?

  • @Kurortn1y
    @Kurortn1y 4 หลายเดือนก่อน

    👍

  • @АлиУкадан-н9щ
    @АлиУкадан-н9щ ปีที่แล้ว

    о каких статьях она говорила?

  • @mind.flow777
    @mind.flow777 8 หลายเดือนก่อน

    Не знаю почему, но она мне нравится)

  • @ilyabiltuev
    @ilyabiltuev ปีที่แล้ว

    Спасибо! 🙂

  • @book_riot
    @book_riot 2 ปีที่แล้ว +1

    Спасибо!) очень понятно

    • @Softtecoteam
      @Softtecoteam  2 ปีที่แล้ว

      Спасибо, заходите к нам еще)

  • @swinefox
    @swinefox 4 หลายเดือนก่อน

    не хватает немного как диспатчатся дженерики

  • @uranproject
    @uranproject ปีที่แล้ว

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

  • @evgadamov
    @evgadamov ปีที่แล้ว +1

    А где обещанные ссылки на литературу?

    • @Softtecoteam
      @Softtecoteam  ปีที่แล้ว

      Доброго дня. Поместили ссылки в заклепленном комментарии.

  • @МуравейМатвей-э6ш
    @МуравейМатвей-э6ш ปีที่แล้ว

    Мерси!

  • @abboskhonshukurullaev2712
    @abboskhonshukurullaev2712 ปีที่แล้ว

    Почему если мы используем метод из экстеншна класса это будет статическая диспетчеризация ??

    • @Softtecoteam
      @Softtecoteam  ปีที่แล้ว +2

      Так как методы из extension нельзя переопределить, они будут иметь всегда одну реализацию. Компилятор знает, что реализация метода в extension будет одинаковой для всех экземпляров этого типа данных. Поэтому, компилятор может принять решение о вызове этого метода на этапе компиляции, что является признаком статической диспетечеризации.

    • @abboskhonshukurullaev2712
      @abboskhonshukurullaev2712 ปีที่แล้ว

      Понял, спасибо 🔥

  • @IamCutePanda
    @IamCutePanda 9 หลายเดือนก่อน

    Интересно

  • @IamCutePanda
    @IamCutePanda 9 หลายเดือนก่อน

    Можно еще прикрепить свой гитхаб

  • @ГалинаИвановна-ш3б
    @ГалинаИвановна-ш3б ปีที่แล้ว

    О как мы за 30 лет далеко ушли

  • @andreyprado1346
    @andreyprado1346 2 ปีที่แล้ว +1

    !!

  • @riddik18
    @riddik18 หลายเดือนก่อน

    что за пришельцы на фоне