Програмування мишкою» у XCode 6 для Swift
Через нещодавно виникну потребу довелося писати під iOS, і я помітив сильний брак гайдів українською мовою навіть для елементарних дій на кшталт «причепити до натискання кнопки якусь дію», «рахувати дані з текстового віконця». Стаття для розробників-початківців під iOS, прошу таких під кат. Отже, для початку для відпрацювання прикладів
Створимо проект SingleView Application
- Вибираємо тип проекту

- Вибираємо назву

- Готово, можна приступати.
Далі трохи ускладнимо наш додаток
До:

Після (змінюємо назву класу та файлу):

До:
Отже, у нас тепер є два вікна, в одне з яких потрапити у користувача просто не вийде.
Перейдемо до програмування мишкою
Це найпростіша частина, робиться як і скрізь. Текстовому полю ми задали властивість Placeholder, воно дозволяє виводити «запрошення для введення», яке видно лише доки не введено жодного тексту. Але про властивості не сильно розповсюджуватимемося в рамках цієї статті, щоб не перевантажувати.
2. Додаємо наші елементи до класу контролера, для роботи з ними безпосередньо
3. Додаємо обробку подій елементів вікна
Для цього потрібні невеликі приготування. Спочатку клікаєте пкм по потрібному елементу, отримуєте таке вікно:

4. Невеликий приклад
Тут ми натисканням кнопки змінюємо текст Label на введений користувачем. З демонстрацією роботи на симуляторі під iPhone 6
Переходи між вікнами
1. Найпростіший варіант
Найпростіший варіант – безумовний перехід. Додамо для цього в наш проект кнопку «Перейти», натиснемо над нею ПКМ і протягнемо лінію до того View, на який ми хочемо отримати перехід (SpecialView в нашому випадку). Отримаємо запит про тип Segue, вибираємо там show - з рештою можете самі поекспериментувати. Аналогічно додамо SpecialView кнопку назад, і причепимо до неї перехід в MainView.
Як бачите, найпростіші переходи можна створювати не написавши жодного рядка коду. Але, звісно, які завжди вистачає безумовних переходів.
2. Додамо умовний перехід
Найпростіший спосіб для цього – викликати наш перехід через код. Але ж у коді його немає. Та й після натискання кнопки все одно спрацьовувати буде, а цього не хотілося б. Вихід досить простий: видаляємо стару версію переходу, а нову ведемо не від нашої кнопки, а від жовтого кружечка самого ViewController, назвемо перехід MainToSpecial
Отже, нехай ми хочемо пускати користувача SpecialView тільки якщо поле для введення і Label містять однаковий текст. Для цього нам треба створити для кнопки подію натискання в контролері, в ньому перевіряти цю умову. Якщо воно виконується, виконаємо перехід за допомогою такого коду:
Як бачите, пускає на SpecialView тільки за однакових значень у полях, а ось назад — у будь-якому випадку, що нам і потрібно. У цьому можна й закінчити, проте покажу наостанок асинхронну перевірку умов переходу,т.к. імхо вона не менш важлива.
3. Асинхронний перехід із перевіркою умови на сервері
І залишається один неприємний, але важливий момент – показати користувачеві затримку. Для цього є спеціальний компонентUIActivityIndicatorView,причому ми відразу виставляємо йому властивість HidesWhenStopped щоб він був видно тільки при анімації, на початку асинхронного запиту ми його анімацію включаємо, а при отриманні відповіді в нашому коллбеку - вимикаємо.
UPD Додав сервер для тесту асинхронної версії в код класу сервера, можете тестувати ) НУ або залити на свій хостинг такий файл PHP і поміняти apiURL на посилання до вашого файлу.
А у нас тут можна отримати грант на тестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»