Основы Swift

Каждый, кто решил изучать Swift или другой язык программирования, сталкивается с дилеммой: штудировать теорию или сразу пробовать создавать приложения? В этой серии статей я предлагаю вам вначале изучить синтаксис Swift, а затем начать писать несложный исходный код.

Поскольку материал организован по принципу «от простого к сложному», рекомендую вам изучать материал последовательно, чтобы не пропустить ничего важного. В конце обучения вы будете обладать не только нужными знаниями, но и обзаведетесь собственноручно написанными приложениями, которые не стыдно показать друзьям или потенциальным работодателям.

Чтобы начать изучать Swift, установите бесплатную среду разработки Xcode из App Store. А пока идет процесс загрузки и установки, давайте познакомимся с основными терминами, которые нам понадобятся.

Основные термины

  1. iOS — операционная система, под управлением которой работают все устройства iPhone и iPad.
  2. Swift — язык программирования от компании Apple, который позволяет писать приложения для OS X, iOS, watchOS и tvOS.
  3. Swift 1.2 — первое крупное обновление языка, вобравшее в себя множество новых функций, а также обновлений для существовавших ранее.
  4. Swift 2 — второе крупное обновление языка. Компания Apple продолжает работать над его усовершенствованием, поэтому в будущем будут и новые обновления.
  5. UIKit — фреймворк для построения пользовательского интерфейса. Он содержит в себе различные элементы управления (кнопки, текстовые поля, панель навигации и другие).
  6. Cocoa Touch — это коллекция библиотек Apple, которая содержит множество функциональных фреймворков iOS, например UIKit для построения пользовательского интерфейса, SpriteKit для создания 2D-игр, MapKit для работы с картами, Core Graphics для рисования, Core Animation для анимации объектов и т. д.
  7. NeXTSTEP — ОС компании NeXT, основанной Стивом Джобсом после ухода из Apple. Позже технологии NeXTSTEP были включены в ядро платформы для разработки приложений компании Apple.
  8. iOS Simulator — инструмент, который входит в состав среды Xcode. С его помощью можно имитировать запуск приложений на виртуальных копиях iPhone и iPad. Благодаря этому вы можете быстро тестировать приложения без использования реальных устройств.
  9. Playgrounds — миниатюрные тестовые программы Swift, в рабочей области которых можно вводить код и моментально видеть результаты его выполнения. Они не используются в рабочих продуктах, но отлично подходят для обучения.
  10. Сбои в работе происходят, когда код выполняется неправильно и приложение закрывается. Среда Xcode позволяет увидеть отчеты об ошибках.

Введение в Swift playgrounds

После запуска Xcode на экране вашего Mac отобразится следующее окно:

Xcode welcome screen

В левой части выберите пункт Get started with a playground. Xcode предложить вам присвоить имя проекту. Введите подходящее имя, например MyPlayground. Нажмите кнопку Next и выберите каталог на жестком диске, где будет храниться файл проекта.

Рабочая область экрана разделена на две части. Это сделано с целью визуального разделения кода и результата его выполнения. Слева отобразится следующая информация:

//: Playground – noun: a place where people can play import UIKit
var str ="Hello, playground"

Справа вы увидите первый пример выполнения кода: Hello, playground.

Двойной слэш (//) в первой строке исходного кода — это строчный комментарий. С его помощью можно вставлять заметки в исполняемый код. Они помогут вам разобраться в собственном коде, когда вы возвратитесь к нему через какое-то время, а также помогает в случае коллективной работы над приложением.

Playground автоматически выполняет введенный нами код, а также обновляет результаты его выполнения. Например, если мы напишем имя переменной str, то в правой части окна дважды отобразиться текст «Hello, playground»: первый раз при инициализации переменной, второй — при выводе ее имени.

Переменные и константы

Для хранения данных в Swift используются переменные и константы. Значение переменной может изменяться, а значение константы указывается единожды и больше не изменяется.

На первый взгляд может показаться, что константы не нужны — ведь можно просто задать переменную и никогда не изменять ее значение. Но на самом деле они выполняют очень важную роль. Например, если мы укажем константу, а затем попытаемся изменить ее в дальнейшем, то Xcode укажет нам на ошибку.

Константы также позволяют Xcode принимать решения, касающиеся оптимизации работы приложения. В Swift переменная создается с помощью команды var, например:

var name ="Tim McGraw"

Теперь мы напишем собственный код в playground, чтобы лучше понять, как все работает. Удалите код по умолчанию, который отображается в playground, оставив только строчку UIKit (она подключает фреймворк для iOS, который понадобится нам в дальнейшем) и ниже добавьте переменную. Вы увидите следующее:

Добавление переменной

Поскольку это переменная, то изменить ее значение можно в любой момент. При этом, вам не нужно каждый раз использовать команду var — она используется только для объявления новых переменных. Введите следующее:

var name ="Tim McGraw"
name ="Romeo"

В первой строке мы создаем переменную и задаем ее первоначальное значение, а во второй изменяем его на Romeo. Оба результата отобразятся на панели результатов.

А если бы мы задали константу, а не переменную? Для объявления константы используется команда let. Измените код следующим образом:

import UIKit
let name ="Tim McGraw"
name ="Romeo"

Теперь Xcode покажет красный значок ошибки в третьей строке и подчеркнет команду name. Если щелкнуть красный значок, Xcode отобразит текст сообщения об ошибке: «Cannot assign to 'let' value 'name'», что следует понимать как: «Вы пытаетесь изменить значение константы».

Попытка изменить значение константы

Кроме того, если вы попытаетесь использовать одно и то же имя дважды, Xcode тоже предупредит вас об ошибке:

var name ="Tim McGraw"
var name ="Romeo"

Когда playground обнаруживает ошибку в коде, он отмечает ее красным значком или же просто не выполняется до конца. В последнем случае текст на панели результатов будет серым.

В следующих статьях я расскажу о типах данных, операторах, интерполяции строк и многом другом. Оставайтесь на связи!

Источник: Hacking with Swift

Читайте далее: Основы Swift. Типы данных

Нужен MVP, разработка под iOS, Android или прототип приложения? Ознакомьтесь с нашим портфолио и сделайте заказ уже сегодня!