Les méthodes ont exactement la même syntaxe et la même utilisation que les fonctions.

Exemple:

class Ordinateur {
    //Ajout des propriétés
    var marque: String = “Apple”
    var modele: String = “iMac 27”
    var année: Int = 2019
    var processeur: String = “Core i7”
    var ram: Int = 16
    var stockage: Int = 256
    var défintion: (Int, Int) = (4000, 2000)
    var completeName: String {
        return marque + ” “ + modele
    }
    var ramComputed: String {
        get {
            return “(ram)”
        }
        set(newValue) {
            ram = Int(newValue) ?? ram
        }
    }
    var mouse: String = “Aucune”{
        willSet(newMouse) {
            print(“Je vais installer cette souris: ” + newMouse)
        }
        didSet {
            print(“Avant j’avais ” + oldValue + ” comme souris”)
            print(“Maintenant j’ai cette souris: ” + mouse)
        }
    }
    //Ajout des méthodes
    func turnOn() {
        print(“ordinateur allumé”)
    }
    func turnOff() {
        print(“ordinateur éteint”)
    }
    func changeStorage(capacity: Int) {
        stockage = capacity
    }
} 

Nous avons donc ici une méthode pour allumer l’ordinateur, pour l’éteindre et pour changer la capacité de stockage.

Pour les appeler, c’est comme si vous appeliez une fonction après le nom de l’objet puis ‘.’

iMac.turnOn()
iMac.turnOff()
iMac.changeStorage(capacity: 512) 

Sur une structure, nous devrons ajouter le mot clé mutating, car les variables ne sont pas modifiables au sein de leur propre initialiseur. J’ai une voiture hybride qui passe en moteur essence à une certaine vitesse. Créons une fonction pour changer de type de moteur et ajouter un kilométrage.

struct Voiture {
    //Ajout des propriétés
    var marque: String = “Toyota”
    var modèle: String = “Yaris”
    var année: Int = 2018
    private var _kms: Int = 20150
    var couleur: String = “Gris”
    var electric = true
    var kms: Int {
        get {
            return _kms
        } set(newValue) {
            if newValue > _kms {
                _kms = newValue
            } else {
                print(“Coquin tu essaies de modifier ton compteur”)
            }
        }
    }
    //Ajout des méthodes
    mutating func drive(speed: Int) {
        electric = speed < 70
        kms += 1
    }
}