Протоколы. Protocols. Объяснение четвертой лекции Стэнфордского курса по iOS разработке. Swift.

Поділитися
Вставка
  • Опубліковано 7 січ 2025

КОМЕНТАРІ • 27

  • @ivanskorokhod2959
    @ivanskorokhod2959  4 роки тому +5

    ТАЙМКОДЫ:
    00:00 Введение.
    00:18 Особенность структур (ключевое слово mutating)
    (Теория)
    04:14 Что такое протоколы
    04:46 Чем хороши протоколы
    06:51 Три аспекта протоколов
    07:46 Разница между протоколами SWIFT и Objective-C
    (Декларация и реализация протоколов)
    09:30 Как происходит декларирование протоколов
    11:47 Как класс или структура реализует протоколы
    (Использование протоколов)
    13:55 Использование протоколов как ТИПОВ
    18:36 Использование протоколов в делегировании
    27:47 Использование протоколов для обязательного поведения
    31:36 Протокол Hashable на примере (обязательность поведения)
    39:28 Множественное наследование

  • @KotyaCrafts
    @KotyaCrafts 4 роки тому +12

    Все, здесь мой мозг отключился...(
    Спасибо за лекции и рекомендации. Буду изучать. )

  • @Alexey_Prokhorov
    @Alexey_Prokhorov 4 роки тому +9

    Все понятно и по делу! По Скутеренко сам учился лет 5 назад)

  • @Mahadev-x7u
    @Mahadev-x7u 2 роки тому +1

    Спасибо большое…. Превосходное объяснение 👍✨✨✨

  • @romaarc
    @romaarc 4 роки тому +4

    Канал быстро растёт это круто. Контент топ стал

  • @stasaosan5682
    @stasaosan5682 4 роки тому +4

    Жду ещё! Спасибо

  • @sergeylobanov4245
    @sergeylobanov4245 2 роки тому +2

    Вот это урок. Спасибо!)

  • @benrise4775
    @benrise4775 2 роки тому +1

    Прекрасно

  • @AndreySobolev-gw6tq
    @AndreySobolev-gw6tq Рік тому

    Супер!!!

  • @НикитаАбрамов-ю5б
    @НикитаАбрамов-ю5б 4 роки тому +1

    Спасибо за видео, очень хорошие уроки

  • @user-ktulkhu
    @user-ktulkhu 4 роки тому +1

    шикарно, спасибо

  • @leonidbazinga6943
    @leonidbazinga6943 4 роки тому +2

    Best

  • @k0dzer0
    @k0dzer0 4 роки тому +3

    Решил зайти в SWIFT, чуток знаю PHP, пару дней смотрю видосы, чтобы прикинуть, что к чему, если бы не старый опыт то понять было бы нереально - не на что крепить информацию для начинающего. Может кому-то пригодится для понимания, протоколы примерный аналог интерфейсов PHP, но как правило такими подходами пользуются уже продвинутые в командной игре и маштабируемом проекте, которые пишут свои фреймворки или задают джунам на реализацию их интерфейсы.

    • @ИванСавков-ю2щ
      @ИванСавков-ю2щ 4 роки тому +2

      вообще Стэнфордский курс расчитат на человека, знакомого с основами языка, поэтому лучше до этого еще что-то пройти )

  • @sono-graf-com
    @sono-graf-com 3 роки тому

    Отличный канал и качественные видео. Спасибо.

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

    Большое спасибо за ваш труд. Круто очень! Когда будет продолжение?

  • @АлександрКулаков-м6в

    почему то после изменений в коде, по вашему видео, у меня в игре при совпадении двух карточек, эмодзи стали меняться на другие перед тем как исчезнуть

  • @НикитаСокол-з4б
    @НикитаСокол-з4б 4 роки тому

    рекомендую

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

    Есть вопрос по поводу "магии" Hashable. Допустим раньше когда мы реализовывали hashValue было понятно где находится реализация Hashable - в классе, в котором мы подписываемся на Hashable. А теперь вопрос: где находится реализация в современном Swift? Я подписываюсь под Hashable и могу напрямую реализовать то, что он декларирует, а могу и не реализовывать. Где находится реализация Hashable? Компилятор сам увидет Hashable и реализует нужные методы в классе, но почему тогда не использовать наследование? А если это работает не так, то как мне делать стандартные реализации для протоколов как ,например, потенциально это делает Hashable/Equitable. Факт что можно создать переменную hashable и сказать ей где реализация (например в классе Hashable), но смысла в этом мало, да и интересует именно момент с "магией"

    • @ivanskorokhod2959
      @ivanskorokhod2959  3 роки тому +1

      Почитайте еще документацию про Hashable от самой Эппл. Ниже ссылка. Если непонятно, что написано на английском - вставьте все в гугл переводчик +- все правильно переведёт
      developer.apple.com/documentation/swift/hashable
      Вот ещё хорошая статья на русском про Хеш-Таблицы
      habr.com/ru/post/509220/
      Если все ещё будет непонятно, заходите в наш чат в Телеграмме и задайте ещё раз Ваш вопрос.
      t.me/swiftbookstart_chat

  • @Кассиопея-ы6т
    @Кассиопея-ы6т 3 роки тому +1

    Отличный урок! Только вопрос - почему на этапе протоколирования карт в коде всплывает ошибка "Сannot find "Card" in scope" ?
    P.S. Xcode 12

    • @ivanskorokhod2959
      @ivanskorokhod2959  3 роки тому +1

      Надо смотреть на код, много может быть причин, почему выдаётся ошибка.
      Сделайте скриншот Вашего кода и пришлите его в наш чат и повторите там ещё раз Ваш вопрос. Я или может быть кто-то другой из чата Вам ответят.
      Ссылка на чат:
      t.me/swiftbookstart_chat

  • @kensaitakeso
    @kensaitakeso 3 роки тому +2

    Я так понял протоколы это налог интерфейсов в Джава?

  • @fioktistwerner6706
    @fioktistwerner6706 4 роки тому +1

    Жаль что все рассказано на UIKit а не на SwiftUI .

    • @ivanskorokhod2959
      @ivanskorokhod2959  4 роки тому +1

      В дальнейшем может и по SwiftUI будет

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

      @@ivanskorokhod2959 protocol Moveable {
      mutating func - маленькая ремарка .
      }