📝 C’est un exercice noté et utile pour la suite, évitez d’utiliser ChatGPT, Github Copilot ou autre GAN pour le faire, ca serait dommage pour vous et votre carrière.
Alternativement vous pouvez utiliser Swift Playgrounds sur iPad ou Mac.
🛟
Int.String et retournez le tableau.🧠 Les enums sont essentiels en Swift, tout comme dans les autres langages, modernes. On peut par exemple les utiliser pour facilement discriminer des réponses d’API Serveurs sans devoir faire des tests fastidieux et risqué sur le long terme sur des String ou des Int.
Le compilateur vous aidera à ne pas oublier un cas, à lever une erreur si jamais un enum change de nom, etc… C’est un outil très puissant, et très utile.
enum Animal {
case cat
case dog
case elephant
case giraffe
case panda
case penguin
case cheetah
case dolphin
case lion
case turtle
}
switch ou de if pour cette question.Utilisez
CaseIterablepour récupérer la liste des valeurs de l’énum, et utiliser la dernière fonction pour afficher la phrase pour chaque animal.
Le resultat final doit être le suivant :
Chat 🐱 est 🥩.
Chien 🐶 est 🥩.
Elephant 🐘 est 🥕.
Giraffe 🦒 🥕.
Panda 🐼 est 🥕.
penguin 🐧 est 🍔.
Guepard 🐆 est 🥩.
Dauphin 🐬 est 🍔.
Lion 🦁 est 🥩.
Tortue 🐢 est 🥕.
struct Person {
var name: String
var age: Int?
var city: String?
}
let people: [Person] = [
Person(name: "Alice", age: 14, city: "Paris-sur-Mer"),
Person(name: "Bob", age: nil, city: nil),
Person(name: "Charlie", age: 30, city: "Baguette-ville"),
Person(name: "David", age: nil, city: "Escargot-terre"),
Person(name: "Eva", age: 22, city: nil),
Person(name: "Frank", age: 40, city: "Tour-Eiffel-land"),
Person(name: "Grace", age: 18, city: nil)
]
nil.nil.nil et une ville nil.nil, afficher “Age inconnu”.protocol ButtonListener {
func clicked()
}
class Button {
var listener: ButtonListener?
func onClick() {
listener?.clicked()
}
}
class MyInterface : ButtonListener{
var someButton: Button
init(button: Button) {
someButton = button
}
func clicked() {
print("A button has been clicked !")
}
}
let myButton = Button()
let interface = MyInterface(myButton)
myButton.onClick()
closure plutôt que de type protocol.Créez une classe générique Queue qui peut contenir des éléments de n’importe quel type. Ajoutez des méthodes pour enqueue (ajouter à la file) et dequeue (retirer de la file). La gestion doit être de type FIFO (First In First Out).
Aller + loin : On doit pouvoir s’abonner sur l’ajout ou la suppression d’un élément avec une closure ou un protocol.