Swift Method Dispatch - Сергей Турсунов

Поділитися
Вставка
  • Опубліковано 14 гру 2024

КОМЕНТАРІ • 18

  • @SuperAndreyano
    @SuperAndreyano 3 роки тому +27

    Классный доклад но можно больше показывать слайды а не докладчика. Он очень красивый но хотелось бы смотреть на то о чем рассказывают . Спасибо !

  • @Daleijn
    @Daleijn 2 роки тому +8

    Потрясающая запись: докладчик что то рассказывает по слайду - мы смотрим на докладчика, очень интересно. Лучшая запись, оператору/монтажеру мои овации

  • @SergeyTursunov
    @SergeyTursunov 8 місяців тому

    Добавил презентацию в репозиторий, ссылка на который указана внизу на слайде на 37:21. Это был мой первый доклад - надеюсь, все нюансы съемки и питча вы более-менее преодолеете и досмотрите до конца!

  • @wizard9669
    @wizard9669 Рік тому +1

    Можете, пожалуйста, обновить ссылку на слайды? Она уже неактуальна

  • @gleb.tregubov
    @gleb.tregubov 2 роки тому +2

    Ссылка со слайдами не доступна больше(
    поделитесь если есть у кого плз

  • @mak_whisk
    @mak_whisk 3 роки тому

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

  • @Scvairy
    @Scvairy 2 роки тому

    Ссылка на слайды протухла(

  • @wizard861
    @wizard861 6 років тому

    классный доклад! спасибо!

  • @СтаниславКрамаренко-о9б

    Я не понимаю, почему в классах используется virtual table , но для extension этого класса direct dispatch??? Как так, потомок же нашего класса точно также может вызвать функцию которую мы объявили в экстеншене родителя, в чем вообще отличие-то ?

    • @TheUebishe
      @TheUebishe 6 років тому +10

      Для классов на этапе компиляции неизвестно для объекта родителя или потомка будет вызван метод. Приходится в рантайме выискивать нужный метод. Экстеншен это как хелпер к классу. Он лежит отдельно от него и адреса всех методов известны. И для родителя и для потомка вызывается один и тот же метод, адрес которого известен на этапе компиляции.

    • @nikitafedorenko6133
      @nikitafedorenko6133 6 років тому +2

      Отличие в том, что потомок не может переопределись этот метод, он может просто его вызвать. И это работает не только с классами, а со всеми объектами вызывающими методы этого протокола. Реализация метода в экстеншене не измениться. Поэтому и direct dispatch.

    • @zakharbabkin3588
      @zakharbabkin3588 4 роки тому

      Nikita Fedorenko а если добавить @objc перед методом в расширении, то его можно уже переопределить, какая диспечерезация будет ?

    • @romanaleksandrov1388
      @romanaleksandrov1388 4 роки тому

      @@zakharbabkin3588 как в obj-c - message dispatch c помощью objc_msgSend(

    • @elfdeveloper
      @elfdeveloper 3 роки тому

      ​@@TheUebishe А обращение к собственным проперти внутри extension метода как будут происходить? Если для класса проперти через виртуальную таблицу определяются. Не будет ли тут Direct dispatch -> VTable?

  • @sergiopuccini
    @sergiopuccini Рік тому

    Как он полиморфизм отделил от наследования, совсем не понял

  • @gafurov_1543
    @gafurov_1543 4 роки тому

    Соответственно соответствует :.(

  • @kav04
    @kav04 Рік тому

    Плохо объясняет