№33 - Extensions в swift | Что от вас скрывают!?

Поделиться
HTML-код
  • Опубликовано: 4 сен 2024
  • #extensions #swift
    Присоединяйтесь к сообществу!
    Телеграмм канал: t.me/bwswift
    Телеграмм чат: t.me/bwswiftchat
    Поддержите канал на патреоне!
    / bwswift
    Подписывайтесь в соц сетях:
    LinkedIn - / slavabeliy
    Twitter - / vycheslavbeliy
    Facebook - www.facebook.c...
    Instagram - / belyi_viacheslav

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

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

    Поддержите канал на патреоне!
    www.patreon.com/bwswift

  • @dqueenprinsees
    @dqueenprinsees Год назад +5

    Я думаю, может быть для добавления статических свойств и методов в extension следует использовать ключевое слово static, потому что оно указывает на то, что свойство или метод принадлежит самому типу и не может быть переопределено в подклассах.

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

      Схватываете на лету!

    • @vitalijsminins8305
      @vitalijsminins8305 11 месяцев назад +1

      статическую хранимую переменную "class var"(которая дает возможность переопределения в дочернем классе) мы не можем использовать в extension, однако метод "class func"(который тоже дает возможность переопределиться в дочернем классе) мы можем использовать. У меня не сходится )

  • @user-zs5tn9xv2o
    @user-zs5tn9xv2o Год назад +2

    оч круто это мой третий марафон по свифту и так доступно ни кто не доводит материал!Супер!

  • @valikkashkalda605
    @valikkashkalda605 10 месяцев назад +1

    Дуже дякую! Подобається що детально розповідаєш, і головне що ця інформація корисна не тільки починаючим розробникам а і тим хто вже давно працює, дуже радий шо мені тебе порекомендували!

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

      Дякую за теплий відгук!

  • @nikitakoniukh709
    @nikitakoniukh709 7 месяцев назад

    Слухаю у процесі підготовки до інтервʼю. Чотири роки розробки, а досі багато чого нового для себе у кожній лекції. Дуже дякую тобі за таку важку працю.

    • @bwswift
      @bwswift  7 месяцев назад +1

      Дякую за відгук! Я душу вклав в ці заняття :)

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

    Подача,картинки,обьяснения 100 из 100,спасибо за потраченное на нас время)

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

      Супер! Заходите еще!

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

    Дякую за лекцію - дуже цікавий момент про static property та ієрархію. Та ще що lazy не можно в extensions, але я спочатку думав що можна)

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

      ❤️

  • @viktorarno3937
    @viktorarno3937 Год назад +2

    Большое спасибо за новое видео. 👍

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

      И вам спасибо за комментарий!

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

    Большое спасибо Вам! Очень крутой канал, почти все основы пересмотрел у Вас, еще много интересного предстоит увидеть)

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

      ❤️

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

    Спасибо большое! Легко и непринуждённо, подан материал!

  • @larinvae
    @larinvae Год назад +2

    Вячеслав, спасибо за лекцию!!! По поводу lazy properties - я была уверена, что все lazy свойства являются хранимыми, поэтому lazy property нельзя добавить в extension. Computed property не могут быть lazy, потому что они каждый раз вычисляются при обращении к ним… а lazy property инициализируются только 1 раз и далее используются как обычные stored property. Разве не так? Или я ошибаюсь?

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

      Все правильно

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

    Как всегда супер, спасибо)

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

      Благодарю!

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

    Спасибо за видео.
    По идее lazy computed property можно добавлять в расширения.

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

      Пробовал в плейграунде?

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

    Спасибо и больше видео!

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

      ❤️

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

    Огромное спасибо за урок!

  • @dqueenprinsees
    @dqueenprinsees Год назад +2

    Предположение на вопрос в конце видео:
    Расширение не имеет собственного хранилища для хранения состояния свойств.

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

      👍

    • @annaruslanovna6115
      @annaruslanovna6115 11 месяцев назад

      можешь поподробнее написать 🙏

    • @dqueenprinsees
      @dqueenprinsees 11 месяцев назад

      @@annaruslanovna6115 В Swift, расширения предназначены для добавления новых методов и вычисляемых свойств существующим типам данных.
      В расширения нельзя добавлять хранимые свойства (stored properties) или изменять существующие. Это ограничение сделано для обеспечения безопасности и предсказуемости кода.
      Если тебе необходимо добавить хранимое свойство к типу данных, ты должна делать это в основном коде, а не через расширение.

  • @user-jf8is2vi1w
    @user-jf8is2vi1w Год назад

    Супер, з Вашим поясненням тема зайшла легше👍👌

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

      Дякую! Вже працюю над протоколами

  • @user-zj4ms4kp2v
    @user-zj4ms4kp2v Год назад

    Класс!!! Спасибо за видео!)

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

      И вам спасибо за комментарий!

  • @user-xi9qi9sw5q
    @user-xi9qi9sw5q Год назад

    Отличный канал и подача материала! 🔥

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

      Спасибо за поддержку!

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

    Ещё одна причина, по которой не стоит в экстеншене переопределять @objc dymanic функции - тогда method dispatch выбирает самый медленный тип диспетчеризации, который в разы медленнее обычной статической диспетчеризации, что в больших и нагруженных проектах не есть гуд. Да и просто лид по рукам надаёт

  • @shurale85
    @shurale85 10 месяцев назад

    в документации сказано, что в расширениях можно определять только вычисляемые проперти объекта или типа. А вы объявили хранимую. пусть даже статическую. Про нее не упомяналось в документации

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

      Все верно, в документации єто упущено

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

    lazy це computed , а extention працює тільки з stored properties =)

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

      Майже вірно, давай ще раз

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

      @@bwswift🤦🏻‍♂️ ой навпаки ) lazy це stored, а extension працює тільки з computed

  • @user-xe5kt2bu6w
    @user-xe5kt2bu6w Год назад

    Спасибо!

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

    31:28 lazy в extension не сможет определить диспечеризацию ? lazy вызывается в момент обращения , но если как и с классом мы сделаем ее static то ошибка исчезнит или просто уберем lazy тут пригодить предыдщие уроки про проперти

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

      Тут ключевой вопрос, что не можно объявлять в екстеншенах и как это связанно с lazy?

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

      @@bwswift в Extension можна оверыйдить.

  • @vitalijsminins8305
    @vitalijsminins8305 11 месяцев назад

    немного непонятно type stored property - это тоже stored property (только type), однако ее можно использовать в extension. Тоесть получается мы не можем использовать в extension только instance stored properties.

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

    27:31 наверное потому что мы можем переопределить проперти подклассом ?

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

      Хороший вариант!

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

    Агинь))