đ 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.
đ
Int.String et retournez le tableau.đ Point sur les Enum
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 cet exercice.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 đ„.
đ§ 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.
struct Person {
var name: String
var age: Int?
var city: String?
}
let people: [Person] = [
Person(name: "Alice", age: 25, city: "Paris-sur-Mer"),
Person(name: "Bob", age: nil, city: "Croissant-ville"),
Person(name: "Charlie", age: 30, city: "Baguette-ville"),
Person(name: "David", age: nil, city: "Escargot-terre"),
Person(name: "Eva", age: 22, city: "Fromage-sur-Ciel"),
Person(name: "Frank", age: 40, city: "Tour-Eiffel-land"),
Person(name: "Grace", age: 18, city: "Chapeau-Rouge")
]
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.