Основи 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 або прототип додатку? Ознайомтеся з нашим портфоліо та зробіть замовлення вже сьогодні!