Водич за Свифт: Први кораци са развојем иОС-а помоћу Свифта



У овом водичу за Свифт добићете увод у развој иОС-а помоћу Свифта и разумећете све програмске концепте Свифта.

У овом блогу Свифт Туториал-а, упознаћу вас са неким од основних концепата Свифт-а. Али, пре него што кренемо напред, упознао бих вас са „Шта је Свифт“ и како можете да инсталирате Свифт на свој систем. Па, кренимо одмах !!

У овом блогу о Свифт водичу обрађивао бих следеће теме:





Водич за Свифт: Шта је Свифт?

Свифт је програмски језик који усваја најбоље од Ц и Објецтиве-Ц, а развила га је компанија Аппле Инц. за развој иОС / ОС Кс за покретање на многим постојећим иОС 6 и ОС Кс 10.8 платформама.

Свифт Туториал: Како инсталирати Свифт?

Да бисте користили Свифт, потребан вам је Ксцоде софтвер да бисте покренули своје Свифт кодирање у игралишту, а када се угодно прилагодите Свифту, можете да користите Ксцоде ИДЕ за развој иОС / ОС к апликација.



Дакле, под претпоставком да имате налог на веб локацији Аппле Девелопер, једноставно морате да одете на Преузмите за Аппле Девелоперс.

Једном пређите на везу, одаберите најновију верзију Ксцоде-а која је доступна и преузмите је кликом на дату везу у близини слике диска.

Након преузимања дмг датотеке, можете је инсталирати једноставним двоструким кликом на њу.



У реду !! Дакле, након што имате свој кЦоде, само двапут кликните на њега да бисте га отворили, а затим идите на Датотека -> Ново и изабрати Игралиште . Затим одаберите иОС и наведите име игралишта. Када завршите са тим кликом на Креирај.

Ксцоде ИДЕ - Свифт Туториал - Едурека

Фиг. 1: Стварање игралишта у Ксцоде ИДЕ - Свифт Туториал

Дакле, сада када је ваше игралиште спремно, кренимо са неким кодирањем!

У почетку, кренимо са основном синтаксом, а затим напишимо програм за здрави свет.

Свифт Туториал: Основна синтакса

  • Токенс - Токен је или кључна реч , идентификатор, константа, литерал низа или симбол.
  • Тачка и зарез - У Свифту не морате да укуцате тачку и зарез () након сваке наредбе у коду. Само у случају употребе више изјава у истом реду, тачка и зарез се користи као разграничник.
  • Кључне речи - Кључне речи су резервисане речи у језицима за кодирање које се не смеју користити као константе или променљиве или било која друга имена идентификатора, осим ако се не избегну помоћу повратних знакова (`& хеллип`).
  • Литералс - Литерал је углавном представљање изворног кода вредности целог броја, броја са покретном зарезом или типа низа. Дакле, литерал може бити Интегер литерал, Флоатинг литерал, Стринг литерал или Боолеан литерал.
  • Коментари - Коментари помажу састављачима да игноришу текстове који се не преводе. Коментари у више редова почињу са / * и завршити са * / док се једноструки коментари пишу користећи // на почетку коментара.
  • Идентификатори - Свифт је језик који разликује велика и мала слова и не дозвољава посебне знакове као што су @, $ и% унутар идентификатора. Идентификатор започиње абецедом А до З или а до з или доњом цртом _ праћеном словима, доњим цртама и цифрама (0 до 9).
  • Бели простори - Размак се користи у Свифту за описивање празних места, картица, знакова новог реда, коментара и одвајање једног дела изјаве од другог. То помаже компајлеру да идентификује где завршава један елемент у наредби, а почиње следећи елемент.

Програм Хелло Ворлд

/ * Програм Хелло Ворлд * / импорт УИКит // Пошто креирамо програм за иОС игралиште, морамо да увозимо УиКит вар миСтринг = 'Хелло Ворлд!' Принт (миСтринг) // Тачка-зарез који се користи јер се 2 израза користе заједно

Оутпут :

Здраво Свете!

Сада, када сте написали свој први програм, хајде да разумемо више о променљивим и типовима података.

Стекните сертификат за пројекте на индустријском нивоу и убрзајте своју каријеру

Свифт Туториал: Вариаблес, Дататипес & ТипеЦастинг

Променљиве

Променљиве нису ништа друго до резервисане меморијске локације за чување вредности. То значи да када креирате променљиву резервишете мало простора у меморији.

вар а = 42 // Декларисање променљиве вар а: Инт = 42 // Такође можете декларирати променљиву тако што ћете навести тип података. нека је б = 32 // Декларисање константе штампе (варА)

Типови података

Као и било који други програмски језик, свифт нуди уграђене типове података на које се можете позвати у следећој табели:

Тип Типична ширина бита Типични домет
Инт8 1 бајт- 127 до 127
УИнт8 1 бајт0 до 255
Инт32 4 бајта-2147483648 до 2147483647
УИнт32 4 бајта0 до 4294967295
Инт64 8 бајтова-9223372036854775808 до 9223372036854775807
УИнт64 8 бајтова0 до 18446744073709551615
Пловак 4 бајта1.2Е-38 до 3.4Е + 38 (~ 6 цифара)
Доубле 8 бајтова2.3Е-308 до 1.7Е + 308 (~ 15 цифара)

Сад ћу вам рећи једну занимљиву чињеницу овде.

У Свифту не морате нужно дефинисати тип података када декларишете променљиву.

Дакле, претпоставимо да декларишете променљиву вар б = 'Здраво' , онда ће Свифт то аутоматски схватити б је Низ променљива типа, на основу података које сте дали.

Типе Цастинг

Сада можете чак и да извршите конверзију типова или слање типова.

На пример, можете претворити целобројну вредност у пловећу вредност и обрнуто.

Размислите о бившемдовољно испод:

нека а: Инт = 5679 // Прогласи 2 константе нека б: Флоат = 2.9999 // Претварање Флоат у Инт испис („Овај број је Инт сада (Инт (б))“) // Претварање Инт у Флоат испис („Тхис број је Флоат сада (Флоат (а)) ”)

Излаз:

Овај број је Инт сада 2 Овај број је Флоат сада 5679,0

Свифт Туториал: Оператори

Оператори су конструкције које могу манипулисати вредностима операнда. Размотрите израз 7 + 3 = 10, овде су 7 и 3 операнди и + се назива оператор.Свифт подржава следеће типове оператора:

Слика 2: Различити оператери у Свифту - Водич за Свифт

Сада, нећу детаљније да идем, али да вам покажем неколико једноставних операција у Свифту. Размотрите пример у наставку:

принт ('5 + 3 = (5 + 3)') // Сабирни принт ('5 - 3 = (5 - 3)') // Штампање одузимања ('5 * 3 = (5 * 3)') // Мултиплицатион принт ('5/3 = (5/3)') // Одсек принт ('5% 3 = (5% 3)') // Модул

Излаз:

5 + 3 = 8 5 - 3 = 2 5 * 3 = 15 5/3 = 1 5% 3 = 2.3 

У реду !! Сада, пошто знате основне операторе, кренимо са условним изјавама.

Свифт Туториал: Условне изјаве

Условни изрази се користе за извршавање израза или групе израза када је неки услов тачан.Постоје наиме три условне изјаве - Ако, Ако друго и Пребаци изјаве.

Па, кренимо одмах са изјавом Иф.

Ако изјава

Наредба иф, може бити или само једноставна иф, или угнеждена иф наредба.

Дакле, једноставно Ако Изјава је најједноставнија изјава о одлучивању која одлучује да ли ће се одређена изјава или блок изјава извршити или не.

Слика 3: Дијаграм тока условне изјаве - брзи водич

Размотрите доњи пример:

вар к: Инт = 10 ако је к<20 { print('x is less than 20') } print('Value of variable x is (x)') 

Излаз:

к је мање од 20 Вредност променљиве к је 10

Угнездени-ако

Сада, угнеждени ако је иф изјава или иф-елсе изјава унутар иф изјаве.

Слика 4: Дијаграм тока угнеждене условне изјаве - брзи водич

Размотрите доњи пример:

вар к: Инт = 100 вар и: Инт = 200 ако је к == 100 {принт ('Први услов је задовољен') ако је и == 200 {принт ('И други услов је задовољен')}} принт ('Вредност променљива к је (к) ') принт (' Вредност променљиве и је (и) ')

Излаз:

Први услов је задовољен Други услов је задовољен Вредност променљиве к је 100 Вредност променљиве и је 200

Изјава ако-друго

Изјава иф-елсе тестира стање и ако је услов нетачан, извршава се израз ‘елсе’.

Слика 5: Дијаграм тока Иф - иначе условне изјаве - брзи водич

Размотрите пример у наставку:

стварање низа објеката у јави
вар к: Инт = 10 ако је к<20 { print('x is less than 20') } else { print('x is not less than 20')} print('Value of variable x is (x)') 

Излаз:

к је мање од 20

Иф-елсе..иф-елсе (Иф-елсе лествица)

Сада можете и ако друго мердевине.Дакле, лествица Иф-елсе-иф омогућава кориснику да користи много иф иф наредби унутар петље и у случају да је један од услова тачан, остале петље се заобилазе.

Слика 6: Дијаграм тока Иф - Условна изјава за остале лествице - Брзи водич

Размотрите пример у наставку:

вар к: Инт = 100 вар и: Инт = 200 иф ки {/ * Ако је услов тачан, одштампајте следеће * / принт ('к је веће од и')} елсе {/ * Ако је услов фалсе, одштампајте следеће * / принт ('к је једнако и')} принт ('Вредност променљиве к и и су: (к) и (и)')

Излаз:

к је мање од и Вредност променљиве к и и су: 100 и 200

С. вештица

Изјава о комутацији пружа једноставан начин извршавања услова за различите делове кода.

Слика 7: Дијаграм тока условне изјаве прекидача - брзи водич

Размотрите пример у наставку:

вар а = 20 прекидач индекса {случај 10: принт ('Вредност индекса је 10') случај пада 15,20: принт ('Вредност индекса је 15 или 20') случај пада 30: принт ('Вредност индекса је 30 ') дефаулт: испис (' дефаулт цасе ')}

Излаз:

Вредност индекса је 15 или 20 Вредност индекса је 30

Сада, ако посматрате излаз, чак и након што је наше стање задовољено, добићемо следећу изјаву такође одштампану. То је зато што користимо изјаву пропасти . Дакле, ако не користите пропасти изјава, тада ће програм изаћи из прекидач изјава након извршавања одговарајуће изјаве случаја.

Заинтересовани сте за изградњу сопствених иОС апликација ??

Сада пређимо на итеративне петље.

Свифт Туториал: Итеративне петље

Генерално, изрази се извршавају узастопно. Прво се извршава први израз у функцији, а затим други и тако даље.Може доћи до ситуације када требате извршити блок кода неколико пута.

Извод петље омогућава нам извршавање израза или групе израза више пута. Дакле, итеративне петље су углавном Фор-Ин , Док и До-Вхиле петља.

Петља за улазак

Петља фор-ин превлачи преко колекција предмета, као што су опсези бројева, предмета у низу или знакова у низу.

Слика 8: Дијаграм тока петље Фор-Ин - брзи водич

Размотрите пример у наставку:

фор и ин 1 ... 3 {принт ('Здраво, свет! а вредност и је (и)')}

Излаз:

шта је виртуелна функција јава
Здраво Свете! а вредност и је 1 Здраво Свете! а вредност и је 2 Здраво свете! а вредност и је 3

Док петља

Израз вхиле петље у програмском језику Свифт више пута извршава циљну наредбу све док је задати услов тачан.

Слика 9: Дијаграм тока док је петља - брзи водич

Размотрите пример у наставку:

вар цуррент: Инт = 0 // Покрени променљиве вар финал: Инт = 3 лет Цомплетед = труе вхиле (цуррент<= final) // condition { //play game if Completed { print('You have passed the level (current)') current = current + 1 //statement to be executed if the condition is satisfied } } print('The while loop ends') //Statement executed after the loop ends 

Излаз:

Прешли сте ниво 0 Прешли сте ниво 1 Прешли сте ниво 2 Прешли сте ниво 3 Петља вхиле се завршава

Направите-док / Понављајте док петља

За разлику од петљи фор и вхиле, које тестирају стање петље на врху петље, понављање… вхиле петља проверава своје стање на дну петље.

Слика 10: Дијаграм тока петље у току рада - брзи водич

Размотрите пример у наставку:

вар вал = 5 понављање {принт ('Вредност је (вал)') вал = вал + 1} док је индекс<10 

Излаз:

Вредност је 5 Вредност је 6 Вредност је 7 Вредност је 8 Вредност је 9

У реду, момци! То је крај петљама, ајмо сада брзо да ускочимо у Арраис & Туплес.

Свифт Туториал: Арраис & Туплес

Низови

Низ је структура података која садржи листу елемената. Сви су ови елементи истог типа података, као што је цео број или низ.Па, претпоставимо ако желите да сачувате имена својих пријатеља. Програм можете написати на следећи начин:

вар пријатељи: Арраи = ['Акасх', 'Сањана', 'Авинасх', 'Сватее']

Такође можете додати нове елементе у низ помоћу методе аппенд (). Погледајте пример у наставку:

фриендс.аппенд ('Ааиусхи') принт (пријатељи)

Излаз:

Акасх Сањана Авинасх Сватее Ааиусхи

Тупле

Тупле се користе за груписање више вредности у једну једињену вредност. Размотрите пример у наставку:

вар фаилуре404 = (404, „Гатеваи нот фоунд“) принт („Код је (неуспех404.0)“) принт („Дефиниција грешке је (неуспех404.1)“) вар фаилуре404 = (код неуспеха: 404, опис: “Гатеваи нот фоунд”) принт (фаилуре404.фалиуреЦоде) // исписује 404.

Оутпут

Шифра је 404 Дефиниција грешке је Гатеваи нот фоунд 404

У реду, сад кад сте разумели низове, време је да започнете са сетовима и речницима.

Желите да се сертификујете за развој иОС-а ??

Свифт Туториал: Сетови и речници

Сетови

Скупови се користе за чување различитих вредности истих типова, без одређених редоследа као код низова. Дакле, можете користити скупове уместо низова ако желите да будете сигурни да нема дуплираних вредности или ако редослед елемената није проблем .
Скуп се креира стављањем свих предмета (елемената) у завојне заграде [], одвојене зарезом. Размотрите пример у наставку:

нека је евенНумбер: Сет = [2,4,6,8,12]

Сада, дозволите ми да вам кажем да такође можете изводити задате операције као што су Унион, Пресек, Одузимање.

Унија: Унија А и Б је скуп свих елемената из оба скупа. Спајање се врши помоћу .унија() метода.

Ја нтерсецтион: Пресек А и Б је скуп елемената који су заједнички у оба скупа. Пресек се изводи помоћу .интерсецтион () метода.

Одузимање: Разлика А и Б (А - Б) је скуп елемената који се налазе само у А, али не и у Б. Слично томе, Б - А је скуп елемената, тј. У Б, али не и у А.Погледајте доњи код:

лет евенНумбер: Сет = [10,12,14,16,18,20] лет оддНумбер: Сет = [5,7,9,11,13,15] лет примеНумбер: Сет = [2,3,5,7, 13,17,19] оддНумбер.унион (евенНумбер) .сортед () оддНумбер.интерсецтион (евенНумбер) .сортед () оддНумбер.субтрацтинг (примеНумбер) .сортед ()

Излаз:

[5,7,9,10,11,12,13,14,15,16,18,20] [] [9, 11, 15]

Речници

Речници се користе за чување неуређених листа вредности истог типа, а Свифт вам не дозвољава да у речник унесете погрешан тип.Размотрите пример испод.

вар екамплеДицт: [Инт: Стринг] = [1: 'Оне', 2: 'Тво', 3: 'Тхрее'] // Стварање речника вар аццессвал = екамплеДицт [1] // Приступ вредностима речника принт ('Вредност кључа = 1 је (аццессВал ') принт (' Вредност кључа = 2 је (екамплеДицт [2]) ') принт (' Вредност кључа = 3 је (екамплеДицт [3]) ')

Излаз:

Вредност кључа = 1 је необавезна („Један“) Вредност кључа = 2 није обавезна („два“) Вредност кључа = 3 није обавезна („три“)

Свифт Туториал: Функције

Функција је у основи скуп изјава организованих заједно за обављање одређеног задатка. Можете позвати функцију, имати функцију са / без параметара, функцију са / без повратних вредности, имати типове функција и такође користити угнежђене функције.Погледајте пример у наставку да бисте разумели како се дефинишу и позивају функције. Размотрите пример у наставку:

фунц Емплоиее (емпнаме: Стринг) -> Стринг {// Дефинисање функције ретурн емпнаме} принт (Емплоиее (емпнаме: 'Саиантини')) // Позивање функције принт (Емплоиее (емпнаме: 'Кислаи'))

Излаз:

Саиантини Кислаи

Сада пређимо на следећи одељак блога, тј. Затварања и структуре.

Свифт Туториал: Затварачи и конструкције

Затварања

Затварања углавном збуњују свакога, али то су само затворени кодови, попут функције организоване у блокове. Могу бити анонимни, док функција мора имати име функције. Размотрите пример испод.

лет наме = {принт ('Добро дошли у Свифт Цлосурес')} наме ()

Излаз:

Добродошли у Затварања

Структуре

Свифт пружа флексибилну зграду у било ком блоку платформе за кодирање који користи конструкте као структуре. Коришћењем ових структура једном се могу дефинисати методе и својства конструката. Размотрите пример испод.
струцт воркерДетаилс {// Дефинисање структуре вар наме = 'Боб' вар ид = 11021 варпхоненумбер = 9876543210} лет детаилс = воркерДетаилс () // Приступ структури и својствима испис ('Име запосленог је (детаљи.име)') испис ('Ид запосленог је (детаилс.ид)') принт ('Број телефона запосленог је (детаилс.пхоненумбер)')

Излаз:

Име запосленог је Боб Ид запосленог је 11021 Телефонски број запосленог је 9876543210

Сада, када сте разумели структуре, хајде да разумемо класе и наслеђивање.

Свифт Туториал: Часови и наслеђивање

Предавања

Предавања у Свифту су у основи градивни елементи флексибилних конструкција. Дакле, слично константама, променљивим и функцијама, корисник може дефинисати својства и методе класе.

цласс ДетаилсСтруцт {// Утврђивање класе вар ид: Инт инит (ид: Инт) {селф.ид = ид}} цласс студентДетаилс {вар ид = 125612} лет студентид = студентДетаилс () принт ('Студент ид ис (студентид.ид ) ')

Излаз:

ИД студента је 125612

Наслеђивање

Наслеђивање је процес стварања нових класа, од постојећих класа. Изведена класа наслеђује све могућности основне класе и може додати и своје функционалности.

Часови се могу даље категорисати поткласа и суперкласа .

Подкласа: Ако класа наслеђује својства, методе и функције из друге класе, тада се позива као подкласа.

Суперкласа : Класа која садржи својства, методе и функције којима остале класе наслеђују саме себе назива се суперкласа. Размотрите пример испод.

цласс ЕмплоиееДетаилс {вар ид: Инт вар нумбер: Инт инит (детаил1: Инт, детаил2: Инт) {ид = детаил1 нумбер = детаил2} фунц принт () {принт ('Ид запосленог је: (ид), број телефона запосленог је: (број) ')}} приказ класе: ЕмплоиееДетаилс {инит () {супер.инит (детаил1: 94567, детаил2: 9876543210) // кључна реч супер користи се за позивање параметара и метода из супер класе}} нека воркеринформатион = дисплаи ( ) воркеринформатион.принт ()

Излаз:

ИД запосленог је94567, број телефона запосленог је9876543210

Сад, момци, имате идеју о главним концептима Свифта. Почнимо сада да учимо проширене теме попут протокола, проширења, генеричких података и набрајања.

Свифт Туториал: Протоколи

Протоколи су попут интерфејса на другим језицима за методе, својства и друге захтеве. Размотрите пример у наставку:
протокол Фли {вар лети: Боол {гет сет} фунц флиабле (милесЦоверед: Доубле) -> Стринг} цласс Вехицле: Фли {вар флиес: Боол = фалсе вар наме: Стринг = 'Дефаулт наме' фунц флиабле (милесЦоверед: Доубле) - > Низ {иф (селф.флиес) {ретурн '(селф.наме) лети (милесЦоверед) милес'} елсе {ретурн '(селф.наме) не може летјети'}}} вар БМВКС1 = Возило () БМВКС1.наме = ' БМВ Кс1 'БМВКС1.флиес = лажни отисак (БМВКС1.флиабле (34))
Излаз:
БМВ Кс1 не може да лети

Свифт Туториал: Проширења

Проширења се у основи користе за додавање функционалности постојеће класе, структуре или типа набрајања. Помоћу екстензија можете додати израчуната својства и својства израчунатих типова, дефинисати и користити нове угнежђене типове, дефинисати инстанце и методе типова, обезбедити нове иницијализаторе, дефинисати индексе и такође прилагодити постојећи тип протоколу.

Размотрите пример у наставку:

додатак Инт {вар додати: Инт {ретурнселф + 10} варсубтрацт: Инт {ретурнселф- 34} вар умножити: Инт {ретурнселф * 5} вар поделити: Инт {ретурнселф / 5}} лет адд = 3.адд принт ('Вредност након сабирања је (додај) ') нека одузимање = 120.одузми испис (' Вредност након одузимања је (одузимање) ') дозволи множење = 25.множи испис (' Вредност се множи (множење) ') нека подела = 55 .дивиде принт ('Вредност након дељења је (подела)') лет мик = 10.адд + 34.субтрацт принт ('Израчуната вредност је (микс)')

Излаз:

Вредност након додавања је 13 Вредност након одузимања је 86 Вредност која се множи је 125 Вредност након дељења је 11 Израчуната вредност је 20

Свифт Туториал: Генерички

Генерички типови се користе за писање флексибилних и поновних функција и типова. Дакле, у основи могу да користе генеричке лекове како би избегли дуплицирање. Размотрите пример у наставку:

размена фунц (к: иноут Т, и: иноут Т) {нека темп = кк = ии = темп} вар стр1 = 'Хелло' вар стр2 = 'Едурека' принт ('Пре замене вредности низа су: (стр1) и (стр2 ) ') свап (к: & стр1, и: & стр2) принт (' Вредности низа после замене су: (стр1) и (стр2) ') вар нум1 = 1996 вар нум2 = 1865 принт (' Пре замене Инт вредности су: (нум1 ) и (нум2) ') свап (к: & нум1, и: & нум2) принт (' Након замене Инт вредности су: (нум1) и (нум2) ')

Излаз:

Пре замене низа вредности су: Хелло и Едурека Вредности након замене низа су: Едурека и Здраво Вредности пре замене низа су: 1996 и 1865 Вредности након замене низа су: 1865 и 1996

Свифт Туториал: Набрајања

Једноставно набрајање је кориснички дефинисани тип података који се састоји од скупа повезаних вредности. Кључна реч енум користи се за дефинисање набројаног типа података. Размотрите пример у наставку:

енум Боја: Инт {кућиште плаво кућиште зелено кућиште црвено кућиште жуто инит () {селф = .ред} фунц гетДетаилс () -> Низ {прекидач (само) {случај .плава: повратак 'Боја је плава' кућиште .зелена: повратак Кућиште „Боја је зелена“ .црвено: врати се кућиште „Боја је црвено“ .жута: врати „Боја је жута“ подразумевано: врати „Боја није пронађена“}}} вар селецтЦолор = Штампање у боји (селецтЦолор.равВалуе) вар фавЦолор = Боја .греен принт (фавЦолор.равВалуе) иф (фавЦолор == Цолор.греен) {принт ('Омиљена боја је зелена')} принт (фавЦолор.гетДетаилс ())

Излаз:

2 један Омиљена боја је зелена зелена

Надам се да сте уживали у читању овог брзог водича. Покрили смо све основе Свифта, тако да сада можете почети да вежбате.

Можете добити детаљно знање о Свифту, заједно са разним апликацијама за онлајн обуку уживо са подршком 24/7 и доживотним приступом.

Учите од стручњака на нивоу индустрије

Имате питање за нас? Помените их у одељку за коментаре „ Свифт Туториал ”И јавићемо вам се.