Tutorial Swift: introduzione allo sviluppo iOS utilizzando Swift



In questo tutorial Swift, riceverai un'introduzione allo sviluppo iOS utilizzando Swift e comprenderai anche tutti i concetti di programmazione di Swift.

In questo blog Swift Tutorial, ti presenterò alcuni dei concetti di base di Swift. Ma, prima di andare avanti, vorrei farvi familiarizzare con 'Cos'è Swift' e come potete installare Swift sul vostro sistema. Quindi, iniziamo ora !!

In questo blog su Swift Tutorial, tratterò i seguenti argomenti:





Tutorial Swift: che cos'è Swift?

Swift è un linguaggio di programmazione che adotta il meglio di C e Objective-C ed è sviluppato da Apple Inc. per lo sviluppo di iOS / OS X per funzionare su molte piattaforme iOS 6 e OS X 10.8 esistenti.

Tutorial rapido: Come installare Swift?

Per utilizzare Swift, è necessario il software Xcode per eseguire la codifica Swift nel Playground e, una volta che si è a proprio agio con Swift, è possibile utilizzare l'IDE Xcode per lo sviluppo di applicazioni iOS / OS x.



Quindi, supponendo che tu abbia un account sul sito Web per sviluppatori Apple, devi solo andare su Download per sviluppatori Apple.

Una volta, vai al collegamento, seleziona l'ultima versione di Xcode disponibile e scaricala facendo clic sul collegamento indicato vicino all'immagine del disco.

Dopo aver scaricato il file dmg, puoi installarlo semplicemente facendo doppio clic su di esso.



Tutto a posto!! Quindi, una volta che hai il tuo xCode, fai doppio clic su di esso per aprirlo e poi vai a File -> Nuovo e scegli Terreno di gioco . Quindi scegli iOS e menziona il nome del parco giochi. Una volta che hai finito con quel clic su Creare.

IDE Xcode - Tutorial Swift - Edureka

Fig. 1: Creazione di un parco giochi in Xcode IDE - Swift Tutorial

Quindi, ora che il tuo playground è pronto, iniziamo con un po 'di programmazione!

Quindi, inizialmente iniziamo con la sintassi di base e poi scriviamo un programma Hello World.

Tutorial rapido: Sintassi di base

  • Gettoni - Un token è una parola chiave , un identificatore, una costante, una stringa letterale o un simbolo.
  • Punto e virgola - In Swift non è necessario digitare un punto e virgola () dopo ogni istruzione nel codice. Solo in caso di utilizzo di più istruzioni nella stessa riga, viene utilizzato un punto e virgola come delimitatore.
  • Parole chiave - Le parole chiave sono parole riservate nei linguaggi di codifica che non possono essere utilizzate come costanti o variabili o altri nomi di identificatori a meno che non siano sfuggiti con i backtick ('& hellip').
  • Letterali - Un letterale è principalmente la rappresentazione del codice sorgente di un valore di un numero intero, un numero a virgola mobile o un tipo di stringa. Quindi, un letterale può essere un letterale intero, un valore letterale mobile, un valore letterale stringa o un valore booleano.
  • Commenti - I commenti aiutano i compilatori a ignorare i testi che non devono essere compilati. I commenti su più righe iniziano con / * e terminare con * / mentre i commenti su una sola riga vengono scritti utilizzando // all'inizio del commento.
  • Identificatori - Swift è un linguaggio che fa distinzione tra maiuscole e minuscole e non consente caratteri speciali come @, $ e% all'interno degli identificatori. Un identificatore inizia con un alfabeto dalla A alla Z o dalla aaz o un trattino basso _ seguito da altre lettere, trattini bassi e cifre (da 0 a 9).
  • Spazi bianchi - Lo spazio bianco viene utilizzato in Swift per descrivere spazi vuoti, tabulazioni, caratteri di nuova riga, commenti e anche per separare una parte di un'istruzione da un'altra. Ciò aiuta il compilatore a identificare dove finisce un elemento in un'istruzione e inizia l'elemento successivo.

Hello World Program

/ * Hello World Program * / import UIKit // Dato che stiamo creando il programma per il playground iOS, dobbiamo importare UiKit var myString = 'Hello World!' Print (myString) // Punto e virgola usato poiché 2 istruzioni sono usate insieme

Produzione :

Ciao mondo!

Ora che hai scritto il tuo primo programma, vediamo di più sulle variabili e sui tipi di dati.

Ottieni la certificazione con progetti a livello di settore e segui rapidamente la tua carriera

Tutorial rapido: Variabili, tipi di dati e TypeCasting

Variabili

Le variabili non sono altro che posizioni di memoria riservate per memorizzare i valori. Ciò significa che quando crei una variabile riservi dello spazio in memoria.

var a = 42 // Dichiarazione della variabile var a: Int = 42 // Puoi anche dichiarare la variabile specificando il tipo di dati. let b = 32 // Dichiarare una costante print (varA)

Tipi di dati

Come qualsiasi altro linguaggio di programmazione, swift fornisce i tipi di dati incorporati, a cui puoi fare riferimento nella seguente tabella:

genere Larghezza bit tipica Gamma tipica
Int8 1 byte- da 127 a 127
UInt8 1 byteDa 0 a 255
Int32 4 byte-2147483648 a 2147483647
UInt32 4 byte0 a 4294967295
Int64 8 byte-9223372036854775808 a 9223372036854775807
UInt64 8 byte0 a 18446744073709551615
Galleggiante 4 byteDa 1.2E-38 a 3.4E + 38 (~ 6 cifre)
Doppio 8 byteDa 2.3E-308 a 1.7E + 308 (~ 15 cifre)

Ora, lascia che ti dica un fatto interessante qui.

In Swift, non devi necessariamente definire il tipo di dati, quando dichiari una variabile.

Quindi, supponi di dichiarare una variabile var b = 'Ciao' , quindi Swift lo capirà automaticamente b è un Corda tipo variabile, in base all'input che hai fornito.

array monodimensionale in java

Tipo Casting

Ora puoi persino eseguire la conversione del tipo o il typecasting.

Ad esempio, puoi convertire il valore intero in un valore float e viceversa.

Considera l'exampio di seguito:

let a: Int = 5679 // Dichiara 2 costanti let b: Float = 2.9999 // Converting Float to Int print ('This number is an Int now (Int (b))') // Converting Int to Float print ('This il numero è un Float ora (Float (a)) ')

Produzione:

Questo numero è un Int ora 2 Questo numero è un Float ora 5679.0

Tutorial rapido: Operatori

Gli operatori sono i costrutti che possono manipolare i valori degli operandi. Considera l'espressione 7 + 3 = 10, qui 7 e 3 sono operandi e + è chiamato operatore.Swift supporta i seguenti tipi di operatori:

Fig 2: Diversi operatori in Swift - Swift Tutorial

Ora, non ho intenzione di approfondire ragazzi, ma lasciate che vi mostri alcune semplici operazioni in Swift. Considera l'esempio seguente:

print ('5 + 3 = (5 + 3)') // Addition print ('5 - 3 = (5 - 3)') // Sottrazione print ('5 * 3 = (5 * 3)') // Stampa moltiplicazione ('5/3 = (5/3)') // Stampa divisione ('5% 3 = (5% 3)') // Modulo

Produzione:

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

Tutto a posto!! Ora che conoscete gli operatori di base, iniziamo con le istruzioni condizionali.

Tutorial rapido: Dichiarazioni condizionali

Le istruzioni condizionali vengono utilizzate per eseguire un'istruzione o un gruppo di istruzioni quando una condizione è vera.Ci sono in particolare tre dichiarazioni condizionali: Se, Se altro e Interruttore dichiarazioni.

Quindi, iniziamo ora con l'istruzione If.

If dichiarazione

Un'istruzione if può essere solo un semplice if o un'istruzione if annidata.

Quindi, un semplice Se L'istruzione è l'istruzione decisionale più semplice che decide se una determinata istruzione o blocco di istruzioni verrà eseguita o meno.

Fig 3: Diagramma di flusso dell'istruzione condizionale If - Tutorial Swift

Considera l'esempio seguente:

var x: Int = 10 se x<20 { print('x is less than 20') } print('Value of variable x is (x)') 

Produzione:

x è minore di 20 Il valore della variabile x è 10

Annidato-If

Adesso, annidato se è un'istruzione if o un'istruzione if-else all'interno di un'istruzione if.

Fig 4: Diagramma di flusso dell'istruzione condizionale If annidata - Tutorial Swift

Considera l'esempio seguente:

var x: Int = 100 var y: Int = 200 if x == 100 {print ('La prima condizione è soddisfatta') se y == 200 {print ('Anche la seconda condizione è soddisfatta')}} print ('Valore di la variabile x è (x) ') print (' Il valore della variabile y è (y) ')

Produzione:

La prima condizione è soddisfatta La seconda condizione è soddisfatta Il valore della variabile x è 100 Il valore della variabile y è 200

Istruzione If-Else

L'istruzione If-else verifica la condizione e se la condizione è falsa, viene eseguita l'istruzione 'else'.

Fig 5: Diagramma di flusso di If - Else Conditional Statement - Swift Tutorial

Considera l'esempio seguente:

var x: Int = 10 se x<20 { print('x is less than 20') } else { print('x is not less than 20')} print('Value of variable x is (x)') 

Produzione:

x è minore di 20

If-else..if-else (scala If-else)

Ora puoi anche avere un file se altro scala.Quindi, il ladder If-else-if consente all'utente di utilizzare molte istruzioni if ​​else all'interno di un ciclo e nel caso in cui una delle condizioni sia vera, il resto dei cicli viene bypassato.

Fig 6: Diagramma di flusso di If - Istruzione condizionale Else Ladder - Tutorial Swift

Considera l'esempio seguente:

var x: Int = 100 var y: Int = 200 if xy {/ * If condition is true then print the following * / print ('x is greater than y')} else {/ * If condition is false then print the following * / print ('x è uguale a y')} print ('Il valore della variabile x e y sono: (x) e (y)')

Produzione:

x è minore di y I valori della variabile x e y sono: 100 e 200

S strega

L'istruzione switch fornisce un modo semplice per eseguire le condizioni in diverse parti del codice.

Fig 7: Diagramma di flusso della dichiarazione condizionale Switch - Tutorial Swift

Considera l'esempio seguente:

var a = 20 switch index {case 10: print ('Value of index is 10') fallthrough case 15,20: print ('Value of index is either 15 or 20') fallthrough case 30: print ('Value of index is 30 ') default: print (' default case ')}

Produzione:

Il valore dell'indice è 15 o 20 Il valore dell'indice è 30

Ora, se osservi l'output, anche dopo che la nostra condizione è soddisfatta, viene stampata anche l'istruzione successiva. Questo perché stiamo usando l'affermazione sfumare . Quindi, se non usi un file sfumare dichiarazione, quindi il programma uscirà dal file interruttore dopo aver eseguito l'istruzione case corrispondente.

Interessato a creare le tue app iOS?

Ora, passiamo ai cicli iterativi.

Tutorial rapido: Cicli iterativi

In generale, le istruzioni vengono eseguite in sequenza. La prima istruzione in una funzione viene eseguita per prima, seguita dalla seconda e così via.Potrebbe verificarsi una situazione in cui è necessario eseguire più volte un blocco di codice.

Un'istruzione loop ci consente di eseguire un'istruzione o un gruppo di istruzioni più volte. Quindi, i cicli iterativi sono principalmente For-In , Mentre e Fare durante ciclo continuo.

For-In Loop

Il ciclo for-in esegue l'iterazione su raccolte di elementi, ad esempio intervalli di numeri, elementi in una matrice o caratteri in una stringa.

Fig 8: Diagramma di flusso del ciclo di for-in - Tutorial rapido

Considera l'esempio seguente:

for i in 1 ... 3 {print ('Hello world! and Value of i is (i)')}

Produzione:

Ciao mondo! e il valore di i è 1 Ciao mondo! e il valore di i è 2 Hello world! e il valore di i è 3

While Loop

Un'istruzione del ciclo while nel linguaggio di programmazione Swift esegue ripetutamente un'istruzione target finché una data condizione è vera.

Fig 9: Diagramma di flusso del ciclo While - Tutorial rapido

Considera l'esempio seguente:

var current: Int = 0 // Inizializza le variabili var final: Int = 3 let Completed = true while (current<= 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 

Produzione:

Hai superato il livello 0 Hai superato il livello 1 Hai superato il livello 2 Hai superato il livello 3 Il ciclo while termina

Do-while / Repeat while Loop

A differenza dei cicli for e while, che testano la condizione del loop all'inizio del loop, il loop repeat ... while controlla la sua condizione nella parte inferiore del loop.

Fig 10: Diagramma di flusso del ciclo Do-While - Tutorial Swift

Considera l'esempio seguente:

var val = 5 repeat {print ('Value is (val)') val = val + 1} while index<10 

Produzione:

Il valore è 5 Il valore è 6 Il valore è 7 Il valore è 8 Il valore è 9

Va bene, ragazzi! Questa è la fine dei loop, ora passiamo rapidamente agli array e alle tuple.

Tutorial rapido: Array e tuple

Arrays

Un array è una struttura dati che contiene un elenco di elementi. Questi elementi sono tutti dello stesso tipo di dati, ad esempio un numero intero o una stringa.Quindi, supponi di voler memorizzare i nomi dei tuoi amici. Puoi scrivere un programma come segue:

var friends: Array = ['Akash', 'Sanjana', 'Avinash', 'Swatee']

È inoltre possibile aggiungere nuovi elementi all'array utilizzando il metodo append (). Fare riferimento all'esempio seguente:

friends.append ('Aayushi') print (friends)

Produzione:

Akash Sanjana Avinash Swatee Aayushi

Tuple

Le tuple vengono utilizzate per raggruppare più valori in un unico valore composto. Considera l'esempio seguente:

var failure404 = (404, 'Gateway non trovato') print ('Il codice è (failure404.0)') print ('La definizione di errore è (failure404.1)') var failure404 = (failureCode: 404, descrizione: 'Gateway non trovato') print (failure404.faliureCode) // stampa 404.

Produzione

Il codice è 404 La definizione di errore è Gateway non trovato 404

Bene, ora che avete capito gli array, è ora di iniziare con i set e i dizionari.

Vuoi ottenere la certificazione nello sviluppo iOS ??

Tutorial rapido: Set e dizionari

Imposta

Gli insiemi vengono utilizzati per memorizzare valori distinti dello stesso tipo, senza avere un ordinamento definito come quello degli array. Quindi, puoi usare set invece di array se vuoi assicurarti che non ci siano valori duplicati o se l'ordine degli elementi non è un problema .
Un Set viene creato inserendo tutti gli elementi (elementi) all'interno di parentesi graffe [], separati da una virgola. Considera l'esempio seguente:

let evenNumber: Set = [2,4,6,8,12]

Ora, lascia che ti dica che puoi anche eseguire le operazioni sugli insiemi come Unione, Intersezione, Sottrazione.

Unione: L'unione di A e B è un insieme di tutti gli elementi di entrambi gli insiemi. L'unione viene eseguita utilizzando .unione() metodo.

io intersezione: L'intersezione di A e B è un insieme di elementi comuni a entrambi gli insiemi. Viene eseguita un'intersezione utilizzando il .intersezione() metodo.

Sottraendo: La differenza di A e B (A - B) è un insieme di elementi che sono solo in A ma non in B. Allo stesso modo, B - A è un insieme di elementi, cioè in B ma non in A.Fare riferimento al codice seguente:

let evenNumber: Set = [10,12,14,16,18,20] let oddNumber: Set = [5,7,9,11,13,15] let primeNumber: Set = [2,3,5,7, 13,17,19] oddNumber.union (evenNumber) .sorted () oddNumber.intersection (evenNumber) .sorted () oddNumber.subtracting (primeNumber) .sorted ()

Produzione:

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

Dizionari

I dizionari vengono utilizzati per memorizzare elenchi non ordinati di valori dello stesso tipo e Swift non ti consente di inserire un tipo sbagliato in un dizionario.Considera l'esempio di seguito.

var exampleDict: [Int: String] = [1: 'One', 2: 'Two', 3: 'Three'] // Creazione di dizionari var accessval = exampleDict [1] // Accesso ai valori del dizionario print ('Valore della chiave = 1 è (accessVal ') print (' Il valore della chiave = 2 è (exampleDict [2]) ') print (' Il valore della chiave = 3 è (exampleDict [3]) ')

Produzione:

Il valore della chiave = 1 è facoltativo ('Uno') Il valore della chiave = 2 è facoltativo ('Due') Il valore della chiave = 3 è facoltativo ('Tre')

Tutorial rapido: Funzioni

Una funzione è fondamentalmente un insieme di istruzioni organizzate insieme per eseguire un'attività specifica. È possibile chiamare una funzione, avere una funzione con / senza parametri, avere una funzione con / senza valori di ritorno, avere tipi di funzione e anche utilizzare funzioni annidate.Fare riferimento all'esempio seguente per capire come definire e chiamare le funzioni. Considera l'esempio seguente:

func Employee (empname: String) -> String {// Definire una funzione return empname} print (Employee (empname: 'Sayantini')) // Chiamare una funzione print (Employee (empname: 'Kislay'))

Produzione:

Sayantini Kislay

Ora, passiamo alla sezione successiva del blog, ovvero chiusure e strutture.

Tutorial rapido: Chiusure e strutture

Chiusure

Le chiusure generalmente confondono tutti, ma sono solo codici autonomi, come funzioni organizzate in blocchi. Possono essere anonimi mentre la funzione deve avere un nome di funzione. Considera l'esempio di seguito.

let name = {print ('Welcome to Swift Closures')} name ()

Produzione:

tipi di trasformazione in informatica
Benvenuto in Closures

Strutture

Swift fornisce un edificio flessibile in qualsiasi blocco di piattaforma di codifica utilizzando costrutti come strutture. Facendo uso di queste strutture una volta può definire costrutti metodi e proprietà. Considera l'esempio di seguito.
struct dipendenteDetails {// Definire una struttura var name = 'Bob' var id = 11021 varphonenumber = 9876543210} let details = employeeDetails () // Accedere alla struttura e alle proprietà print ('Il nome dell'impiegato è (details.name)') print ('L'ID del dipendente è (details.id)') print ('Il numero di telefono del dipendente è (details.phonenumber)')

Produzione:

Il nome del dipendente è Bob L'ID del dipendente è 11021 Il numero di telefono del dipendente è 9876543210

Ora che avete capito le strutture, capiamo Classi ed ereditarietà.

Tutorial rapido: Classi ed eredità

Classi

Le classi in Swift sono fondamentalmente gli elementi costitutivi dei costrutti flessibili. Quindi, in modo simile a costanti, variabili e funzioni, l'utente può definire proprietà e metodi di classe.

class DetailsStruct {// Definizione di una classe var id: Int init (id: Int) {self.id = id}} class studentDetails {var id = 125612} let studentid = studentDetails () print ('Student id is (studentid.id ) ')

Produzione:

L'ID studente è 125612

Eredità

L'ereditarietà è il processo di creazione di nuove classi, da classi esistenti. La classe derivata eredita tutte le capacità della classe base e può anche aggiungere le proprie funzionalità.

Le classi possono essere ulteriormente suddivise in categorie sottoclasse e superclasse .

Sottoclasse: Se una classe eredita proprietà, metodi e funzioni da un'altra classe, viene chiamata come sottoclasse.

Superclass : Una classe che contiene proprietà, metodi e funzioni per consentire alle altre classi di ereditare da se stessa è chiamata superclasse. Considera l'esempio di seguito.

class EmployeeDetails {var id: Int var number: Int init (detail1: Int, detail2: Int) {id = detail1 number = detail2} func print () {print ('Employee id is: (id), il numero di telefono del dipendente è: (number) ')}} visualizzazione della classe: EmployeeDetails {init () {super.init (detail1: 94567, detail2: 9876543210) // la parola chiave super viene utilizzata per chiamare i parametri e i metodi dalla super class}} let employeeinformation = display ( ) EmployeeInformation.print ()

Produzione:

L'ID dipendente è94567, il numero di telefono del dipendente è9876543210

Ora che avete un'idea dei concetti principali di Swift. Cominciamo ora a imparare gli argomenti estesi come protocolli, estensioni, generici ed enumerazioni.

Tutorial rapido: Protocolli

I protocolli sono come le interfacce in altri linguaggi per metodi, proprietà e altre funzionalità dei requisiti. Considera l'esempio seguente:
protocol Fly {var flies: Bool {get set} func flyable (milesCovered: Double) -> String} class Vehicle: Fly {var flies: Bool = false var name: String = 'Default name' func flyable (milesCovered: Double) - > Stringa {if (self.name) {return '(self.name) flies (milesCovered) miles'} else {return '(self.name) can't fly'}}} var BMWX1 = Vehicle () BMWX1.name = ' BMW X1 'BMWX1.flies = false stampe (BMWX1.flyable (34))
Produzione:
La BMW X1 non può volare

Tutorial rapido: Estensioni

Le estensioni sono fondamentalmente utilizzate per aggiungere le funzionalità di una classe, struttura o tipo di enumerazione esistente. Con le estensioni, è possibile aggiungere proprietà calcolate e proprietà del tipo calcolato, definire e utilizzare nuovi tipi nidificati, definire metodi di istanza e tipo, fornire nuovi inizializzatori, definire pedici e anche rendere un tipo esistente conforme a un protocollo.

Considera l'esempio seguente:

extension Int {var add: Int {returnself + 10} varsubtract: Int {returnself- 34} var multiply: Int {returnself * 5} var divide: Int {returnself / 5}} let addition = 3.add print ('Il valore dopo l'aggiunta è (add) ') let subtraction = 120.subtract print (' Il valore dopo la sottrazione è (subtraction) ') let moltiplication = 25.multiply print (' Il valore è mutiplying è (moltiplicazione) ') let division = 55 .divide print ('Il valore dopo la divisione è (divisione)') let mix = 10.add + 34.subtract print ('Il valore calcolato è (mix)')

Produzione:

Il valore dopo l'aggiunta è 13 Il valore dopo la sottrazione è 86 Il valore moltiplicato è 125 Il valore dopo la divisione è 11 Il valore calcolato è 20

Tutorial rapido: Generici

I tipi generici vengono utilizzati per scrivere funzioni e tipi flessibili e riutilizzabili. Quindi, fondamentalmente puoi usare i generici per evitare duplicazioni. Considera l'esempio seguente:

func swap (x: inout T, y: inout T) {let temp = xx = yy = temp} var str1 = 'Hello' var str2 = 'Edureka' print ('Before Swapping String i valori sono: (str1) e (str2 ) ') swap (x: & str1, y: & str2) print (' I valori della stringa dopo lo scambio sono: (str1) e (str2) ') var num1 = 1996 var num2 = 1865 print (' I valori prima dello scambio di int sono: (num1 ) e (num2) ') swap (x: & num1, y: & num2) print (' Dopo lo scambio di valori Int sono: (num1) e (num2) ')

Produzione:

Prima di scambiare i valori di stringa sono: Hello e Edureka Dopo lo scambio di valori di stringa sono: Edureka e Hello I valori prima dello scambio di stringa sono: 1996 e 1865 Dopo lo scambio di stringhe i valori sono: 1865 e 1996

Tutorial rapido: Enumerazioni

Un'enumerazione in termini semplici è un tipo di dati definito dall'utente che consiste in un insieme di valori correlati. La parola chiave enum viene utilizzato per definire il tipo di dati enumerato. Considera l'esempio seguente:

enum Color: Int {case blue case green case red case yellow init () {self = .red} func getDetails () -> String {switch (self) {case .blue: return 'Il colore è blu' case .green: return 'Color is green' case .red: return 'Color is red' case .yellow: return 'Color is yellow' default: return 'Color not found'}}} var chooseColor = Color print (chooseColor.rawValue) var favColor = Color .green print (favColor.rawValue) if (favColor == Color.green) {print ('Il colore preferito è il verde')} print (favColor.getDetails ())

Produzione:

2 uno Il colore preferito è il verde verde

Spero che ti sia piaciuto leggere questo tutorial Swift. Abbiamo coperto tutte le basi di Swift, quindi puoi iniziare a esercitarti ora.

Per ottenere una conoscenza approfondita di Swift e delle sue varie applicazioni, puoi farlo per la formazione online dal vivo con supporto 24 ore su 24, 7 giorni su 7 e accesso a vita.

Impara dagli esperti a livello di settore

Hai domande per noi? Menzionateli nella sezione commenti di ' Tutorial rapido 'E ti risponderemo.