Fundamentals
Этот раздел направлен на изучение языка Swift с нуля по официальной книжке Develop in Swift Fundamentals
После каждого раздела следует блок самопроверки и небольшая типовая задача по разделу. Они обязательны к прохождению, закреплению пройденного материала и разбору ошибок. Если вы уверены в своем знании конкретного блока можете сразу переходить к тесту или задаче
info
Помечайте пройденный материал используя зачеркивание или установив x в [ ] в коде страницы в вашем fork, будет
удобнее следить за личным прогрессом :)
- 1 - 1.4 - знакомство с базовым синтаксисом и операциями
- 1.5 - разбор XCode, где что в IDE, какие есть хоткеи, что за файлы
- 1.6 - Сборка, запуск и отладка в XCode
- задача (стр 81)
- 1.8 - база про Interface Builder, полезно
- задача (стр 108)
- 2.1 - про String, стоит посмотреть что умеют
- задача (стр 154)
- 2.2 - создание функций
- задача (стр 164)
- 2.3 - структуры
- задача (стр 189)
- 2.4 - классы и интерфейсы
- задача (стр 204)
- 2.5 - коллекции
- задача (стр 216)
- 2.6 - циклы
- задача (стр 226)
- 2.7 - разбор UILabel, UIButton, UIImageView, UITextView, ScrollView, TableView и т.д и их свойств ViewController -
что это и зачем. Маленькое приложение пример с добавлением изученных View
- задача (стр 248)
- 2.8 - пример использования Interface Builder, кастомизация UIImageView и Label
- задача (стр 262)
- 2.9 - Controls(Button, Switch, slider, textField) как получать значения и привязывать к выполнению кода
- задача (стр 285)
- 2.10 - для чего нужны и как пользоваться Constraint'ами
пример работы и настроек StackView, использование View Hierarchy
далее идет два проекта по шагам, делать по желанию- задача (стр 322)
- 3.1 - Что такое опциональный тип, зачем нужен, пример использования
- задача (стр 377)
- 3.2 - тайпкасты, Any
- задача (стр 383)
- 3.3 - Guard
- задача (стр 391)
- 3.4 - Global scope, Variable scope
- задача (стр 398)
- 3.5 - Enums
- задача (стр 405)
- 3.6 - Navigation Controllers, Navigation Bar
- задача (стр 432)
- 3.7 - TabBar - довольно много, можно понять суть и хватит
- задача (стр 455)
- 3.8 - ViewController lifecycle
- задача (стр 469)
Вопросы для самопроверки
- Отличия классов от структур, что в каком случае использовать
- Как выбрать тип коллекции, в чем разница между Array и Dictionary
- Какие бывают способы установить действие для UIControl
- Какие есть способы преобразования опциональной переменной к не опциональному типу? Какой из них безопасный?
- Зачем нужен guard, чем он лучше if
- Для чего нужны Constraints, как их можно настроить?
- Что такое early return, зачем он нужен?
- Что такое Variable Shadowing, какая от него польза?
- Как передавать данные от одного ViewController к другому
- Опишите жизненный цикл ViewController'a, как распределять различные действия по этим методам
Тесты для самопроверки
- тест "Переменные"
- тест "Операторы"
- тест "Функции"
- тест "Интерполяция строки и print"
- тест "Область видимости и циклы"
- тест "Коллекции"
- тест "Словари и множества"
- тест "Codestyle"
- тест "Константы и переменные"
- тест "Операторы"
- тест "Массивы и словари"
- тест "Множества и If"
- тест "guard, switch и циклы"
- тест "Функции"
- тест "Кортежи и опционалы"
- тест "Классы"
- тест "Свойства классов и наследования"
- тест "Уровни доступа"
- тест "Enums"
- тест "Структуры"