Creazione di applicazioni con Swift
In questo capitolo, creeremo due nuove applicazioni utilizzando Swift.
Prima applicazione - "Indovina il numero"
In questa sezione, creeremo un'applicazione chiamata "Indovina il numero". Per creare questa applicazione, crea una nuova applicazione iOS a visualizzazione singola e chiamala come preferisci.
Clicca sul main.storyboard e seleziona la visualizzazione principale.
Aggiungi un'etichetta di testo → Cambia il testo in "Indovina il numero". Cambia il colore, le proprietà delle dimensioni e rendilo secondo le tue esigenze.
Aggiungi un campo di input, allunga a vista completa.
Aggiungi un pulsante e chiamalo "Indovina.
Aggiungi un'altra etichetta, allungala e cancella la casella di testo.
Ecco come il tuo view dovrebbe apparire come dopo aver aggiunto tutti gli elementi.
Ora Passa all'editor dell'assistente e fai clic sul trascinamento dall'elemento dell'interfaccia utente per visualizzare il file del controller, quindi collega il campo di testo come presa e chiamalo userInput. Allo stesso modo,
- Connetti l'etichetta vuota come outlet e chiamala come resultLabel.
- Collega il pulsante Guess come azione e chiamalo come guessButtonPressed.
Qual è la logica?
La logica è semplice, genereremo numeri casuali tra 0-9 e vedremo se è uguale al numero inserito dall'utente oppure no. Se è uguale, mostreremo "hai ragione", altrimenti mostreremo "hai torto!".
Applicare la logica
Per generare un numero casuale compreso tra 0-9, useremo il seguente comando.
let rollIt = String(arc4random_uniform(10))
Quindi useremo la seguente logica per verificare se è uguale all'input dell'utente o meno.
if userInput.text == rollIt {
resultLabel.text = "You're right!"
} else {
resultLabel.text = "Wrong! It was a " + rollIt + "."
}
Ecco come apparirà la logica finale nella funzione di azione dei pulsanti.
@IBAction func guessButtonPressed(_ sender: Any) {
let rollIt = String(arc4random_uniform(10))
if userInput.text == rollIt {
resultLabel.text = "You're right!"
} else {
resultLabel.text = "Wrong! It was a " + rollIt + "."
}
}
La tua applicazione finale dovrebbe assomigliare a questa ora.
Eseguiamo ora la nostra applicazione e controlliamo la sua output. La schermata di apertura dovrebbe apparire come segue:
Quindi, inserisci un numero nel file input la zona.
Alimentiamo un altro numero e controlliamo il suo output -
Abbiamo completato un'altra domanda. Prova a eseguire questa applicazione e inserisci diversi input.
Seconda applicazione: "Is It Prime"
In questa applicazione, prenderemo un input dall'utente e controlleremo se quel numero è primo o meno -
Layout - Simile all'applicazione precedente, abbiamo bisogno di un input, un pulsante e un'etichetta di output.
Challenges- Crea l'interfaccia utente e collega gli elementi al codice. Inoltre, prova se puoi creare il progetto completo da solo. Se sei riuscito a crearlo da solo, allora è fantastico e stai andando alla grande con iOS Development.
Se non ce la fai, non preoccuparti. Guarda l'immagine seguente e prova a fare lo stesso.
Prova a creare una visualizzazione come questa, se non sei ancora in grado di farlo, leggi la sezione precedente in cui abbiamo sviluppato un Guess Game.
Qual è la logica?
I numeri primi sono i numeri che non possono essere divisi per nessun altro numero eccetto 1 e il numero stesso.
Example - 7 è un numero primo come qualsiasi altro numero tranne 1 e 7 non può dividerlo.
Come implementare?
Prova a scrivere un codice per controllare i numeri primi. Quindi prendi l'input dell'utente e vedi se è un numero primo o meno. Se sì, mostra primo; altrimenti mostra non primo nell'etichetta del risultato.
Ecco il codice per verificare se un numero fornito è "primo" o meno -
@IBAction func isItPrimeButtonPressed(_ sender: Any) {
if let userEnteredString = userInput.text {
let userEnteredInteger = Int(userEnteredString)
if let number = userEnteredInteger {
var isPrime = true
if number == 1 {
isPrime = false
}
var i = 2
while i < number {
if number % i == 0 {
isPrime = false
}
i += 1
}
if isPrime {
resultLabel.text = "yes. \(number) is prime!"
} else {
resultLabel.text = "No. \(number) is not prime"
}
} else {
resultLabel.text = "Please enter a positive whole number"
}
}
}
Ecco come dovrebbe apparire l'azione del pulsante. Di seguito è riportata l'immagine del codice finale e della vista:
Ecco come dovrebbe apparire la tua applicazione in esecuzione se hai seguito la procedura.
Ora, testiamo la nostra applicazione fornendo valori di input: