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: