Swift Magic
Swift Magic
  • 15
  • 70 388

Відео

Жизненный цикл ViewController | SWIFT
Переглядів 3,6 тис.Рік тому
00:00 Вступление 00:00 Методы жизненного цикла vc 00:55 init 01:19 loadView 01:33 viewDidLoad 02:05 viewWillAppear 02:28 viewWillLayoutSubviews 02:43 viewDidLayoutSubviews 03:03 viewDidAppear 03:24 viewWillDisappear 04:04 viewDidDisappear 04:55 deinit 05:09 Промежуточные итоги 07:41 Демо 13:00 Выводы
Compression Resistance & Hugging Priority | SWIFT
Переглядів 2,4 тис.Рік тому
00:00 Теория 05:24 Выводы 06:55 Практический пример 10:22 Заключение ссылка на статью medium.com/@dineshk1389/content-hugging-and-compression-resistance-in-ios-35a0e8f19118
Frame & Bounds | SWIFT
Переглядів 3,6 тис.Рік тому
00:00 Теория 00:54 Пример 1 02:56 Более точное определение Frame 04:02 Можно ли изменить координаты Bounds? 06:05 Center - третье свойство 07:03 Задача на изменение Bounds 10:53 Вывод
View и Layer в чем разница | SWIFT
Переглядів 3,7 тис.Рік тому
Погрузимся в основы каждого компонента и узнаем, как View и Layer взаимодействуют между собой, поговорим о различиях в их функциональности, производительности и возможностях. 00:00 Теория 00:42 Демо 05:42 CPU / GPU Bounding 07:32 Вывод
Responder chain & Hit testing | SWIFT
Переглядів 8 тис.Рік тому
В этом видео вы узнаете все, что нужно знать о двух важных концепциях в разработке приложений на Swift - цепочке отклика (Responder Chain) и тестировании касания (Hit Testing). Я покажу вам, как работает цепочка отклика, как события передаются по иерархии представлений и как это позволяет эффективно обрабатывать пользовательские взаимодействия. Вы также узнаете о тестировании касания и как сист...
KISS DRY YAGNI ПРИНЦИПЫ ПРОЕКТИРОВАНИЯ | SWIFT
Переглядів 6 тис.2 роки тому
В этом видео мы разбираем принципы проектирования (программирования) KISS (Keep It Simple, Stupid), DRY (Don't Repeat Yourself), YAGNI (You Ain't Gonna Need It) и SSOT (Single Source Of Truth). Это видео подходит не только iOS разработчикам, но и другим программистам, которые хотят научиться писать простой и эффективный код.
Dependency Inversion Principle (DIP) | SWIFT ГОТОВИМСЯ К СОБЕСЕДОВАНИЮ
Переглядів 4 тис.2 роки тому
В этом видео разобран принцип инверсии зависимостей - Dependency Inversion Principle и представлены краткие знания для подготовки к собеседованию на должность iOS Developer.
Interface Segregation Principle (ISP) | SWIFT ГОТОВИМСЯ К СОБЕСЕДОВАНИЮ
Переглядів 2,3 тис.2 роки тому
В этом видео разобран принцип подстановки разделения интерфейсов - Interface Segregation Principle и представлены краткие знания для подготовки к собеседованию на должность iOS Developer.
Liskov Substitution Principle (LSP) | SWIFT ГОТОВИМСЯ К СОБЕСЕДОВАНИЮ
Переглядів 3,5 тис.2 роки тому
В этом видео разобран принцип подстановки Барбары Лисков - Liskov Substitution Principle и представлены краткие знания для подготовки к собеседованию на должность iOS Developer.
Open Closed Principle (OCP) | SWIFT ГОТОВИМСЯ К СОБЕСЕДОВАНИЮ
Переглядів 2,8 тис.2 роки тому
В этом видео разобран принцип открытости/закрытости - Open Closed Principle и представлены краткие знания для подготовки к собеседованию на должность iOS Developer
Single Responsibility Principle (SRP) | SWIFT ГОТОВИМСЯ К СОБЕСЕДОВАНИЮ
Переглядів 3,2 тис.2 роки тому
В этом видео разобран принцип единой ответственности - Single Responsibility Principle и представлены краткие знания для подготовки к собеседованию на должность iOS Developer
SOLID ЗА 3 МИНУТЫ | SWIFT ГОТОВИМСЯ К СОБЕСЕДОВАНИЮ
Переглядів 7 тис.2 роки тому
В этом видео представлены краткие знания для подготовки к собеседованию на должность iOS Developer. Разобрана тема SOLID принципов.
ООП | SWIFT ГОТОВИМСЯ К СОБЕСЕДОВАНИЮ
Переглядів 10 тис.2 роки тому
В этом видео представлены краткие знания для подготовки к собеседованию на должность iOS Developer. Разобрана тема объектно-ориентированного программирования: наследование, инкапсуляция, полиморфизм

КОМЕНТАРІ

  • @maksmorgan4156
    @maksmorgan4156 9 днів тому

    Было бы просто супер увидеть от вас видео про проблемы многопоточности!❤

  • @maksmorgan4156
    @maksmorgan4156 9 днів тому

    Отличный видос!

  • @maksmorgan4156
    @maksmorgan4156 9 днів тому

    Все понятно и ясно

  • @raccoon8230
    @raccoon8230 24 дні тому

    Спасибо

  • @DenisBrilliantov
    @DenisBrilliantov 25 днів тому

    7300 просмотров 473 лайка а на сабесаз все равно никто не может ответить)

  • @Pewpewpew-m9t
    @Pewpewpew-m9t Місяць тому

    Спасибо!

  • @ИринаФисенко-х1т
    @ИринаФисенко-х1т Місяць тому

    Спасибо за такое подробное видео!

  • @vladimira4865
    @vladimira4865 Місяць тому

    спасибо за видео! чётко, понятно, без воды. что значит смогло полностью обработать событие?

  • @Dontgoagainstthedream
    @Dontgoagainstthedream Місяць тому

    супер!!! спасибо!)

  • @Pewpewpew-m9t
    @Pewpewpew-m9t 2 місяці тому

    Феноменально!

  • @chushevaolya5451
    @chushevaolya5451 3 місяці тому

    очень хорошо объясняете, спасибо!

  • @hashcat5721
    @hashcat5721 3 місяці тому

    Тут не хватает только того как будет работать приложение когда включён режим энергосбережения ?

  • @crisisofeconomics
    @crisisofeconomics 4 місяці тому

    Array(Set(arr))

  • @Mirorval
    @Mirorval 5 місяців тому

    Хорошо усвоился урок.

  • @Mirorval
    @Mirorval 5 місяців тому

    Спасибо, очень полезно.

  • @shaamee86
    @shaamee86 5 місяців тому

    Вопрос: почему при получении оранжевой вьюхи по результатам hitTest() и назначении ее firstResponder’ом далее у нас в консоли выводится весь responder chain, хотя оранжевая вьюха может обработать тач? По идее мы не должны дальше идти же по цепочке? Возможно, ответ таков (взято из одной статьи): «UIGestureRecognizer реализует четыре метода касания, но он не является респондером. Поэтому не участвует в responder chain.» Но тогда почему не вызываются рекогнайзеры на каждой вью в responder chain, а только на оранжевой? 🤔

    • @MagicSwift
      @MagicSwift 5 місяців тому

      10:20. Если вьюшка не полностью обработала событие, она передает его на уровень выше. В нашем случае, когда мы определили, что нажали именно на нее, в консоле вывелась информация об этом и затем вызвался метод super.touchesBegan, который и передал событие рекурсивно к ViewController

    • @shaamee86
      @shaamee86 5 місяців тому

      @@MagicSwiftммм, тогда вопрос другой: что значит полностью обработает событие? Какие критерии того, что является «полностью», а что - нет?

  • @Moonwalker95
    @Moonwalker95 5 місяців тому

    Ваши видео очень крутые Жаль, что так мало

  • @_c.ute.wolf_1576
    @_c.ute.wolf_1576 5 місяців тому

    Отличное объяснение! Смотрел много видео про SOLID, но только благодаря вашим примерам понял, как все принципы применять на практике. Пишу на TypeScript, не возникло трудностей в понимании Swift-кода :) Спасибо вам!!!

  • @Medovar
    @Medovar 6 місяців тому

    Спасибо!

  • @rios6984
    @rios6984 6 місяців тому

    ооочень полезное видео, однозначно лайк!

  • @karavaevatasha
    @karavaevatasha 6 місяців тому

    protocol CircleShape { func drawCircle()
} protocol SquareShape { func drawSquare()
} protocol RectangleShape { func drawRectangle()
} Class Circle { func draw(shape: CircleShape) { shape.drawCircle() } } Class Square { func draw(shape: SquareShape) { shape.drawSquare() } } Class Rectangle: rectangleShape { func draw(shape: RectangleShape) { shape.drawRectangle() } }

  • @vagangalstyan1007
    @vagangalstyan1007 6 місяців тому

    Замечательно! Инфу про СРU и GPU встретил впервые, козырну на собесе, если спросят)

  • @АлександрГригоренко-в4с

    Не канал, а каналище. Автор оч хорош в подаче материала

  • @Pro-jz8wg
    @Pro-jz8wg 6 місяців тому

    спасибо, было полезно!

  • @tanya95583
    @tanya95583 6 місяців тому

    Не пойму,почему при повороте frame(h и w) изменились и зачем рисовать вторую view? Почему не можем длину и ширины frame посчитать по повернутому прямоугольнику?

  • @nikaperepelkina4459
    @nikaperepelkina4459 6 місяців тому

    спасибо)

  • @Dragonboh1
    @Dragonboh1 7 місяців тому

    тема не раскрита. 1) когдато помню просто вешаеш дополнительний рекогнайзер тапа большего размери и все. 2) что ето за овверрайд objc функций в вью контролерре, тоесть сначало оно дошло до серой вьюхи потом нашло оранживою? ниче не понял, ето же должно бить если не можеш обробить. 3) что значит вьюха не может обробить тач? у нее нет соотвественного делегат метода?

    • @phat80
      @phat80 7 місяців тому

      Пожалуйста, выучи русский язык 🙏

    • @PlayaSippinDope
      @PlayaSippinDope 19 днів тому

      что?

  • @твойсладкийкотик
    @твойсладкийкотик 7 місяців тому

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

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

    Спасибо за информативные видео

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

    Половина людей зашла сюда про 3д моделирование смотреть

  • @yacoder-proit
    @yacoder-proit 8 місяців тому

    Крутейший видос по теме! Спасибо за такое качественное объяснение)

  • @MetaFishing
    @MetaFishing 9 місяців тому

    Супер! Спасибо

  • @gabibli
    @gabibli 9 місяців тому

    Божественно

  • @gabibli
    @gabibli 9 місяців тому

    6:28

  • @Ruedge
    @Ruedge 9 місяців тому

    Просто объяснить сложно. Сложно объяснить просто. Огромное спасибо за разбор темы!

  • @try_catch_error
    @try_catch_error 10 місяців тому

    Мне кажется это какой - то роффл автора видео ) Я такую же задачку решал за O(n) амортизированое )

    • @unknownunknown-os4ue
      @unknownunknown-os4ue 9 місяців тому

      наверно еще и порядок элементов не поменял в решении?)

  • @jahongir2212
    @jahongir2212 10 місяців тому

    Привет, спасибо за видео) А что с классом директор? Он же выполняет 2 функции? 2:47

    • @MagicSwift
      @MagicSwift 10 місяців тому

      Да, функций может быть сколько угодно, но они все должны относиться только к обязанностям директора. Если бы он еще и занимался тренировкой людей в зале, то это было бы уже нарушение принципа

  • @alexey3337
    @alexey3337 10 місяців тому

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

  • @mrunicorn-p4x
    @mrunicorn-p4x 10 місяців тому

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

  • @mrunicorn-p4x
    @mrunicorn-p4x 10 місяців тому

    ничего не было понятно, посмотрел видео и все понятно. Магия рассказчика сработала. Спасибо автору за огненный контент!

  • @esca7a
    @esca7a 10 місяців тому

    Привет. Ты не раскрыл суть принципа. А именно такие вещи как: - аргументы метода дочернего класса не должны быть ковариантны по отношению к родительскому классу; - возвращаемые значения методов дочерних классов могут быть ковариантны; - свойства не должны быть переопределены И самое главное - какие проблемы несут выше сказанные ограничения ?

  • @egores9271
    @egores9271 10 місяців тому

    Отличный формат, очень хорошая подача информации! Спасибо за видео!

  • @one_madness4751
    @one_madness4751 10 місяців тому

    Спасибо))) четко, ясно и по делу

  • @artyom5602
    @artyom5602 10 місяців тому

    Жаль не успели рассказать про новый метод isappearing

  • @zgold3344
    @zgold3344 11 місяців тому

    Просто супер!

  • @ОлегКовалев-ш5д
    @ОлегКовалев-ш5д 11 місяців тому

    Много пересмотрел на тему Swift, но это лучшее объяснение и подача материала

  • @boekhounding2586
    @boekhounding2586 11 місяців тому

    Автор, большая умница! Спасибо!

  • @sokolivan17
    @sokolivan17 11 місяців тому

    Есть же метод sceneDidEnterBackground(_:) в SceneDelegete. Почему у тебя его нет?))

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

    отличное объяснение. спасибо большое!

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

    Первый канал на котором мною будет оставлен комментарий. Обращение к автору - контент отличный. У канала большое будущее, не останавливайся, у тебя всё получится. Великолепная подача материала, довольно подробно и с примерами. Для меня является огромным плюсом, что присутствуют конкретные use-кейсы, а не просто сухая теория. Именно этого не хватает большинству прочих каналов, где после просмотра могут остаться вопросы, как и где применять полученные знания в реальных проектах. Даже будучи уже действующим разработчиком, переодически нахожу для себя что-то новое. Однозначно лайк, продолжай в том же духе! 💪