№37 - Generics в Swift | Прошел этого босса прошел Swift!

  Рет қаралды 8,330

В’ячеслав Білий

В’ячеслав Білий

Күн бұрын

#swift #generics #programming
Присоединяйтесь к сообществу!
Телеграмм канал: t.me/bwswift
Телеграмм чат: t.me/bwswiftchat
Поддержите канал на патреоне!
/ bwswift
00:00 Введение
3:49 Зачем нужны дженерики
11:08 Generics в swift - основы
18:44 Недостатки дженериков
22:00 Generics в структурах
28:45 Уточнение типов в Generics
35:40 Дженерик протоколы, associated types
45:00 Type constraints в протоколах
50:50 Это будет сложно понять
1:02:10 Идем дальше по документации, extensions
1:25:50 Associated type в Enum
1:30:20 Повторение
1:43:00 Итоги
Подписывайтесь в соц сетях:
LinkedIn - / slavabeliy
Twitter - / vycheslavbeliy
Facebook - profile.php?...
Instagram - / belyi_viacheslav

Пікірлер: 81
@bwswift
@bwswift Жыл бұрын
Поддержите канал на патреоне! www.patreon.com/bwswift
@MrAysro
@MrAysro Ай бұрын
Этот контент - топ Если вы случайно сюда заглянули и думаете "хм, надо ли посмотреть" - да, ребят, надо. Автор несколько раз отметил, что это дженерики - довольно сложная тема. Он прав. Но он настолько подробно и с примерами всё объясняет, что усвоение материала повышается в разы. Самое крутое - обзор документации. Вячеслав сделал то, что должны делать все - открыть документацию, изучить её, объяснить нам простым языком и показать примеры. Это самый лучший тип образовательного контента, серьёзно. Если у вас еще остались вопросы с дженериками - просто по-немногу внедряйте в свои проекты. Если видите, что что-то можно обобщить, или какая-то ViewModel должна быть в какой-то View именно с определенным протоколом - внедряйте дженерики. На собеседованиях и на работе вы будете самыми яркими звёздочками
@bwswift
@bwswift Ай бұрын
Лайк :)
@KonstantinFederal
@KonstantinFederal Жыл бұрын
Давно ждал это видео. Спасибо!
@bwswift
@bwswift Жыл бұрын
👍
@user-pv3xm3mg3u
@user-pv3xm3mg3u Жыл бұрын
Большое спасибо за Ваш урок!
@bwswift
@bwswift Жыл бұрын
👍
@maximzhuravlev3522
@maximzhuravlev3522 Жыл бұрын
Спасибо за труд, это действительно бесценно!
@bwswift
@bwswift Жыл бұрын
👍
@viktorarno3937
@viktorarno3937 Жыл бұрын
Спасибо большое за видео 👍
@bwswift
@bwswift Жыл бұрын
Спасибо за комментарий 🙂
@MeMOoo444
@MeMOoo444 4 ай бұрын
сложная тема, думая буду пересматривать много раз)) спасибо за лекцию
@user-ne6ho8zg6o
@user-ne6ho8zg6o 8 ай бұрын
Я в восторге))) Вы офигенный
@bwswift
@bwswift 8 ай бұрын
Дякую ❤️
@hashcat5721
@hashcat5721 Жыл бұрын
Все гениальное просто !
@bwswift
@bwswift Жыл бұрын
Это точно не про дженерики
@morrterry
@morrterry Жыл бұрын
Спасибо за видео!
@bwswift
@bwswift Жыл бұрын
👍
@mikhailov_al
@mikhailov_al Жыл бұрын
Крутяк! Спасибо огромное! Оформил подписочку на Патреоне)
@bwswift
@bwswift Жыл бұрын
Благодарю за поддержку!
@Pro-jz8wg
@Pro-jz8wg Жыл бұрын
Вячеслав, спасибо тебе! Respect ✊
@bwswift
@bwswift Жыл бұрын
И вам спасибо за поддержку!
@larinvae
@larinvae 10 ай бұрын
Вячеслав, спасибо за лекцию! Очень крутое объяснение делегатов ❤ многое прояснилось 🎉
@bwswift
@bwswift 10 ай бұрын
❤️
@dmitrykiri
@dmitrykiri Жыл бұрын
Огромное спасибо! Сложная тема, но более менее понятно с первого раза, благодаря отличному объяснению.
@bwswift
@bwswift Жыл бұрын
👍
@RoccoTM
@RoccoTM 10 ай бұрын
Спасибо за материал
@bwswift
@bwswift 10 ай бұрын
👍
@ShowMeLova
@ShowMeLova 8 ай бұрын
Вячеслав спасибо за урок! Вперед и с песней!😀
@bwswift
@bwswift 8 ай бұрын
❤️
@Moonwalker95
@Moonwalker95 5 ай бұрын
Большое спасибо за понятно объяснение) надо учить английский чтобы читать все в оригинале
@Bubjkee
@Bubjkee 6 ай бұрын
спасибо!
@bwswift
@bwswift 6 ай бұрын
👍
@user-mf4iz9cq3d
@user-mf4iz9cq3d 11 ай бұрын
Велике дякую!
@bwswift
@bwswift 11 ай бұрын
І вам дякую!
@alexandernikolaychuk8405
@alexandernikolaychuk8405 Жыл бұрын
Дякую!
@bwswift
@bwswift Жыл бұрын
👍
@dqueenprinsees
@dqueenprinsees 7 ай бұрын
Отодвинула generic'и на дальнюю полку, тк не сталкивалась особо, изучила базу и понятия, было достаточно, пока не началась подготовка к собеседованию. Посмотрела видео и, наверно, услышала главный месседж в конце, поэтому теперь взгляну на чтение документации по другому, ну и точно с ручкой и блокнотом. Лекция, как всегда потрясающая! Удачи и развития вам)
@bwswift
@bwswift 7 ай бұрын
❤️
@user-wf1uc8fh6d
@user-wf1uc8fh6d 11 ай бұрын
ваше классно объяснил!! Больше контента о ios разработке
@bwswift
@bwswift 11 ай бұрын
😇
@ArtemElarev
@ArtemElarev 4 ай бұрын
да этот босс посложнее многих боссов из Dark Souls.. спасибо за Ваш труд!)
@bwswift
@bwswift 4 ай бұрын
👍
@vladimirstepanov7246
@vladimirstepanov7246 Жыл бұрын
лайк)
@bwswift
@bwswift Жыл бұрын
👍
@doqew9292
@doqew9292 Жыл бұрын
мужик, жестко все разжевал. думаю, каждый начинающий "оёсер" поймет все о дженериках после первого просмотра.👍
@bwswift
@bwswift Жыл бұрын
Не, не поймет. Это очень сложная тема.
@SergSphinx
@SergSphinx Жыл бұрын
В конце меня уже паплавило....Дикая работа
@bwswift
@bwswift Жыл бұрын
В конце и меня поплавило :)
@SergSphinx
@SergSphinx Жыл бұрын
@@bwswift 😂
@mrunicorn-p4x
@mrunicorn-p4x 10 ай бұрын
посмотрел вчера лекцию на ночь и взорвался мозг, всю ночь снились generics и утечка памяти и как я прям физически боролся с утечкой. Утром проснулся с мыслью надо еще раз посмотреть ) omg, many thanks Slava, i wish u to reach 1mil subscrbrs asap! You are doing incredible stuff!
@bwswift
@bwswift 10 ай бұрын
❤️
@victor_vvinner74
@victor_vvinner74 7 ай бұрын
Я думал будет что-то типа "Утром проснулся, а утечка таки произошла!"))))
@mrunicorn-p4x
@mrunicorn-p4x 7 ай бұрын
@@victor_vvinner74 утечка была и будет до тех пор пока не будет мастер скилл по дженерикам) у меня это в процессе еще)
@Le_schiffer
@Le_schiffer 10 ай бұрын
Великолепная лекция. Из опыта - на проекте используются дженерики, но одноступенчатые и простые. Не вижу смысла тянуть весь функционал дженериков. KISS - главный принцип как по мне
@bwswift
@bwswift 10 ай бұрын
👍
@user-lh8jq9qm4i
@user-lh8jq9qm4i 10 ай бұрын
В протоколе можно объявлять дженерик через угловые скобки, если объявлен associatedtype например чтобы ограничить в дальнейшем массив определенным типом испльзуя some или any: protocol Itemable { associatedtype T var name: T { get } } struct Item: Itemable { let name: String } let items: [any Itemable] = [Item(name: "foo"), Item(name: "bar")]
@bwswift
@bwswift 10 ай бұрын
👏
@ZefsAl
@ZefsAl 8 ай бұрын
Посмотрел 12 минут все понятно. Нашел тебя давно и сразу подписался. По реактивщине есть что нибудь ?)
@bwswift
@bwswift 8 ай бұрын
Буде в найближчому майбутньому
@al_mokrousov
@al_mokrousov 3 ай бұрын
Очень классное видео! спасибо большое Жаль раньше не натыкался на тебя
@bwswift
@bwswift 3 ай бұрын
👍
@daniadenisuk2404
@daniadenisuk2404 9 ай бұрын
Дякую за уроки. Повторюю основи та дізнався дуже багато нового. Хотів спитати, чи будуть ще відео із співбесідами? Адже такі відео дуже гарно показують пробіли у знаннях
@bwswift
@bwswift 9 ай бұрын
Будуть, але трохи пізніше!
@user-ff9el6wr1q
@user-ff9el6wr1q Жыл бұрын
Здравствуйте, подскажите пожалуйста, если в xcode в выборе ios версии стоит 16.2 (это на данный момент самая последняя версия), а на iphone установлена 16.4, получается я не смогу загрузить свое разрабатываемое приложения на свой iphone? И если это так, что нужно дожидаться обновления xcode?
@bwswift
@bwswift Жыл бұрын
В Xcode стоит минимальная версия. Значит установить можно будет на все что выше 16.2
@user-ff9el6wr1q
@user-ff9el6wr1q Жыл бұрын
@@bwswift Решил проблему установив с github версию ios 16.4 в папку с XCode, странно почему такими способами приходиться решать, это же должно работать из коробки ?
@zr2x
@zr2x Жыл бұрын
Cпасибо Вам за труд! К сожалению с первого раза тяжело усвоить материал по generic'am :(
@bwswift
@bwswift Жыл бұрын
И это нормально! Ты не первый и не последний кто будет еще не раз повторять эту тему
@zr2x
@zr2x Жыл бұрын
@@bwswift подскажите, а когда вы планируете или будет возможность брать учеников? и примерную стоимость занятий?
@bwswift
@bwswift Жыл бұрын
@@zr2x пока приастоновил набор.
@hgzzY
@hgzzY 9 ай бұрын
кажется, я только сейчас начал понимать спустя время и нескольких просмотров вашего видео) Очень крутое видео!@@bwswift
@bwswift
@bwswift 9 ай бұрын
@@hgzzY мне тоже кажется, что я начал понимать их 😂
@zaur4094
@zaur4094 9 ай бұрын
Протоколы это интерфейсы (Java). Не понимаю что там сложного)
@tixomark
@tixomark Жыл бұрын
19:40. Но разве это недостаток. Если в коде есть женерык, то, судя по всему, требуется работа с несколькими типами. И какая разница, будут ли жинерик специализирован на определенное количество типов, либо работяга ручками напишет одну и ту же функцию под каждый тип. Ведь памяти будет столько же занято. Можно вместо жанэрика использовать протокол, или родительский класс, тогда да, компилятор пихнет больше проверок, и это будет медленнее работать, но памяти займет меньше. Бейте меня тапками если написал бред)
@bwswift
@bwswift Жыл бұрын
Когда ваша цель написать легковесное приложение что бы можно было его скачать через мобильную слабую сеть (как на полях для гольфа) то размер приложения имеет значение. Касательно работяг, решение будет не написать кучу одинаковых функций, а использовать архитектуру исключающую дженерики. Может не возникнуть надобности в дженериках при другом подходе - это всегда выбор.
@tixomark
@tixomark Жыл бұрын
⁠@@bwswiftсогласен, жэнэрики лучше стараться использовать в крайнем случае. Я как обычно криво вопрос изложил. По сути я докапался до того, что то, что джинырик требует больше памяти - это минус. Если писать так, чтобы работало все примерно на одной скорости, то без разницы, будет это один жнурик или много отдельных типов. По занимаемой памяти - одно и то же.
@user-ne6ho8zg6o
@user-ne6ho8zg6o 8 ай бұрын
я прямо щаслива що знашйла ваш контент!!! Плюс з України !!!
@bwswift
@bwswift 8 ай бұрын
Я теж щасливий бачити нових прихильників!
@Iaroslav_beldin
@Iaroslav_beldin Жыл бұрын
С первой попытки пройти босса не удалось 😵
@bwswift
@bwswift Жыл бұрын
Все нормально. Отхиляйся и по новой!
№38 - Обработка ошибок в Swift | Работай с Error как ПРО!
1:08:58
№34 - Протоколы в Swift | Испытание твоего разума
1:13:25
В’ячеслав Білий
Рет қаралды 7 М.
1 or 2?🐄
00:12
Kan Andrey
Рет қаралды 38 МЛН
I Can't Believe We Did This...
00:38
Stokes Twins
Рет қаралды 48 МЛН
№36 - Delegate в Swift | Главный паттерн в iOS?
1:13:16
В’ячеслав Білий
Рет қаралды 8 М.
Занятие 27 - ООП, Введение
1:05:02
В’ячеслав Білий
Рет қаралды 4,8 М.
Как стать идеальным кандидатом на должность IOS разработчика
53:44
iOS Такой • IOS Разработка • IT Подкасты
Рет қаралды 6 М.
Swift 5.5. Async/Await
11:46
SwiftBook
Рет қаралды 10 М.
№33 - Extensions в swift | Что от вас скрывают!?
32:09
В’ячеслав Білий
Рет қаралды 4 М.
Swift Closures Explained - The ONLY video you'll ever need!
17:33
1 or 2?🐄
00:12
Kan Andrey
Рет қаралды 38 МЛН