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

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

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

1 092subscribers

520posts

Showcase

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

KMP Урок 6: Что в Kotlin не как в Swift

Первые пять уроков мы шли по материалам, которые ты и так знал: синтаксис, null safety, функции, лямбды, классы, коллекции. Kotlin звал уже знакомые вещи другими словами, и этого уже хватало для разработки, но...
Шестой урок устроен иначе. Уже изведанные знания пропускаем:
• Что такое дженерик
• Как объявить класс
• Что такое исключение
Это всё для нас известно.
Мы же возьмём только те знания, которые для Kotlin имеет расхожодение, то куда тянется рука после Swift. И где этот поворот аукнется на границе работы с иос.
Дженерики. Почему is List не компилируется, и проверка на список со звездой проходит.
Как inline и reified возвращают тип в рантайм, и почему такую функцию нельзя звать из Swift?.
Вариантность out / in прямо на объявлении, отсюда и List из пятого урока. Звёздочка в дженерике: читать можно, класть нельзя, не перепутать! И как запретить null в аргументе типа через T : Any, чего в Swift не выразить вовсе.
Дженерики на границе с иос. Отдельная подтема, ради которой всё и затевалось. Через бридж дженериком доезжает только класс.
Функция и интерфейс приедут, но параметр типа потеряется: non null становится optional, вариантность Swift игнорирует, остаётся приведение силой.
Делегирование by. Приём, которого в Swift как языковой конструкции нет: class X : Foo by bar пробрасывает весь интерфейс одной строкой, переопределяешь только нужное.
Плюс делегаты свойств: by lazy, observable и vetoable, by map. И свой делегат через getValue / setValue, прямой двойник из нашего property wrapper.
Исключения. Компилятор не подстрахует: ни throws в сигнатуре, ни try на вызове, бросить исключение может любая функция. При этом сам try - это выражение, как if и when.
Дальше Result и runCatching, и главная ловушка темы: runCatching глотает отмену корутины. Экран, с которого пользователь уже ушёл, доигрывает код и получает ошибку сети.
В конце, как обычно, домашка по нарастающей:
1. easy
2. easy+
3. medium
По времени выходит на 2,5-3 часа. Ну и само собой: вопросы, предложения, замечания - в лс или комменты всегда жду!
✅ [ссылка на новый урок]
Subscription levels2

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

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

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

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