Тимур Чеберда

Тимур Чеберда 

iOS разработчик, веду roadmap iOS разработчика

1 058subscribers

480posts

Showcase

2
goals8
8 of 8 paid subscribers
Если на меня подпишется 8 человек, то я смогу заказывать картинки у дизайнера и делать материал еще более наглядным и лучше доносить до вас 🎉
1 of 4
$167.62 of $270 raised
Роадмап по архитектурным паттернам: визуальный роадмап + уроки к нему. Для примера берите роадмап по SwiftUI (который уже готов)
$89.96 of $7 498 raised
Получил оффер? Буду рад символическому «спасибо» - любая сумма уместна. Это поможет в улучшении и продвижении нашего сообщества!
$20.24 of $20.3 raised
Крус по GIT от А до Я
$269.9 of $270 raised
КММ проект: струячим серию выпусков, с нуля, среднего размера(10-12 экранов), стримы и видео(стрим без лишнего), донатерам код(после каждой серии).

Урок №7 - Замыкания. Полностью переработан

Так же как и предыдущие, замыкания подверглись дополнению. Раньше была ссылка на нужные секции карточки, но теперь - 4 раздела на 4.5-6 часов:
1. что такое замыкание
2. синтаксис
3. захват переменных
4. escaping vs non-escaping
Что внутри:
Связь с предыдущими уроками - показал, что sorted { $0 < $1 }, filter { $0 > 3 }, reduce(0, +) из уроков 4-6 были замыканиями. А ты их уже знаешь, осталось понять механику.
Функция vs замыкание - функция это рецепт в книге, замыкание это рецепт на салфетке. Одно с именем,а другое без. Именно сравнение из жизни и разжёвывание должно максимально приблизить к пониманию.
5 шагов сокращения - от полного синтаксиса { (a: Int, b: Int) -> Bool in return a < b } до { $0 < $1 }. Каждый шаг убирает одну вещь. Все пять записей рядом, одна под другой.
Когда использовать $0, а когда имя - практическое правило. $0 * 2 понятно без объяснений. $0.firstName + $0.lastName + $0.age - уже нет. С примерами хорошего и плохого кода тебе станет понятно, ведь это крайне важно на проде - писать понятный код.
Захват переменных - замыкание "складывает в рюкзак" переменные из окружения. По умолчанию по ссылке - видит изменения. А вот с capture list [x] - фиксирует копию. Важное правило, которое тебе очень сильно пригодится на собеседовании - один из частых практических примеров.
Escaping vs non-escaping - гость на ужин и гость с ключом от дома. Да может-быть сложным, но полного понимания здесь и не требуется сейчас, достаточно запомнить правило @escaping всегда совмещать с weak.
Проверь себя после каждого раздела - теоретические и практические задачи на закрепления разделов.
Частые ошибки - 5 штук. Ожидание копии при захвате, а получил ссылку, $0 в сложных замыканиях, забытый in с именованными параметрами, путаница in и ->.
3 домашних задания - калькулятор операций с четырьмя замыканиями в переменных, цепочка filter + sorted + map на температурах, reduce для статистики оценок.
График повторения - через 1 день напиши замыкание в полной и краткой форме. Через 3 дня - makeMultiplier с независимыми экземплярами. Через 10 - метод Фейнмана: объясни вслух, что значит "замыкание убежало из функции".
Замыкание - это одна из сложных тем для усвоения в начале, и это нормально, если нет 100% или даже 80% понимания. То, что ты запомнишь некоторые знания как правила, без понимания, всё-равно пойдут в плюс.
Практика, и чем больше тем лучше, в будущем - итоговый проект, позволят тебе ещё-раз вернуться к этой теме и лучше понять.
Если старую карточку уже прошёл - возвращаться не обязательно. Но если хочешь закрепить, пятое задание с merge и средним баллом - хорошая проверка.
Subscription levels2

Базовый уровень

$6.1 per month
• Доступ во все разделы notion: роадмап iOS разработчика, подготовка к собеседованиям, изучение разных тем по iOS и другие. Получение обновлений каждые 2 недели.
• Домашние задания по SwiftUI, UIKit.
• Разбор в формате видео домашних заданий по UIKit.
• Интерактивный роадмап по SUI: карта, контент, материал, описание тем.
• Ежемесячные созвоны, воркшопы, стримы + uikit
Доступ к телеграмм приложению для подготовки и обучению
+ chat

Не базовый уровень

$13.1 per month
 • Все перечисленное из тира "базовый".
 • Приоритет для участия в меропритиях.
 • Разбор в формате видео домашних заданий по SwiftUI.
 • NFT диплом о прохождении роадмапа.
 • Подпись во всех чатах
 • КМP роадмап в ноушене.
 • Размещение в таблице менторов.
 • Ежемесячные созвоныворкшопыстримы, мк + sui. Глубже материал (да-да, не удивляйся)
Расширенный доступ к телеграмм приложению для подготовки и обучению
+ chat
Go up