Програмиране на мишката" в XCode 6 за Swift
Поради скорошната нужда ми се наложи да пиша за iOS и забелязах сериозна липса на ръководства на български език дори за елементарни действия като „прикачване на действие към натискане на бутон“, „четене на данни от текстово поле“. Статия за начинаещи iOS разработчици, моля за такава под кат. И така, за начало, да разработим примерите
Нека създадем приложение SingleView
- Изберете тип проект
- Изберете име
- Готово, можете да започнете
След това нека усложним малко нашето приложение
Преди:

След (променете името на класа и файла):

Преди:
И така, сега имаме два прозореца, единият от които е просто невъзможен за потребителя.
Нека да преминем към програмиране с мишката
Това е най-лесната част, направена както другаде. За текстовото поле сме задали свойството Placeholder, което ви позволява да показвате „подкана за въвеждане“, която се вижда само когато не е въведен текст. Но ние няма да говорим много за свойствата в рамките на тази статия, за да не претоварваме.
2. Добавяне на нашите елементи към класа на контролера, за да работим директно с тях
3. Добавяне на обработка на събития за елементи на прозорец
Това изисква малко подготовка. Първо, щракнете с десния бутон върху желания елемент, ще получите този прозорец:

4. Малък пример
Тук променяме текста на етикета на този, въведен от потребителя с натискане на бутон. С демонстрация на работа на симулатор за iPhone 6
Преходи между прозорци
1. Най-простият вариант
Най-простият вариант е безусловен скок. За да направите това, добавете бутона „Отиди до“ към нашия проект, щракнете с десния бутон върху него и плъзнете линията, която се появява, към изгледа, към който искаме да получим прехода (SpecialView в нашия случай). Ще получим заявка за типа Segue, изберете покажи там - можете сами да експериментирате с останалите. По същия начин добавете бутон за връщане към SpecialView и прикачете към него преход към MainView.
Както можете да видите, най-простите преходи могат да бъдат създадени без писане на един ред код. Но, разбира се, безусловните скокове не винаги са достатъчни.
2. Добавете условен скок
Най-лесният начин да направите това е да извикате нашия преход през кода. Но не е в кода. Да, и с натискане на бутона пак ще работи, но това не би било желателно. Изходът е доста прост: изтриваме старата версия на прехода и водим новата не от нашия бутон, а от жълтия кръг на самия ViewController, нека наречем нашия преход MainToSpecial
Да кажем, че искаме да пуснем потребителя в SpecialView само ако полето за въвеждане и етикетът съдържат един и същ текст. За да направим това, трябва да създадем събитие за щракване за бутона в контролера и да проверим това условие в него. Ако стане, ще изпълним прехода със следния код:
Както можете да видите, той позволява SpecialView само със същите стойности в полетата, но обратно - във всеки случай, което е това, от което се нуждаем. Това може да бъде завършено, но все пак ще ви покажа асинхронната проверка на условията на преход накрая, т.к. IMHO това е не по-малко важно.
3. Асинхронен преход с проверка на условието на сървъра
И има един неприятен, но важен момент - да се покаже на потребителя забавяне. За това има специален компонентUIActivityIndicatorView,освен това, ние незабавно настройваме свойството HidesWhenStopped за него, така че да е видимо само по време на анимация, в началото на асинхронна заявка ние включваме нейната анимация и я изключваме, когато се получи отговор в нашето обратно извикване.
UPD Добавен е сървър за тестване на асинхронната версия към кода на сървърния клас, можете да го тествате) Или качете този PHP файл на вашия хостинг и променете apiURL на връзка към вашия файл.
И тук можете да получите грант за тестов период на Yandex.Cloud. Необходимо е само да въведете "Habr" в полето "секретна парола".