Skip to main content

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, как распределять различные действия по этим методам

Тесты для самопроверки