Sobes.tech
Junior — Middle

Peut-on ajouter des propriétés supplémentaires aux classes ou objets existants via des extensions?

sobes.tech IA

Réponse de l'IA

En Swift, les extensions permettent d’ajouter de nouvelles méthodes, propriétés calculées et initialisateurs aux classes, structures et énumérations existantes, mais il n’est pas possible d’ajouter des propriétés stockées.

C’est-à-dire que vous ne pouvez pas ajouter de propriétés stockées supplémentaires via une extension, mais vous pouvez ajouter des propriétés calculées qui sont dérivées de données existantes.

Exemple de propriété calculée dans une extension :

extension String {
    var isPalindrome: Bool {
        return self == String(self.reversed())
    }
}

Si vous souhaitez ajouter des propriétés stockées, on utilise généralement des objets associés (associated objects) dans le runtime Objective-C, mais ce n’est pas une méthode standard et elle n’est pas directement supportée en Swift.