Propriétés calculées avec get/set
Créez des propriétés calculées (en lecture seule ou en lecture-écriture) avec get/set, imposez des invariants dans les setters et utilisez un contrôle d’accès tel que private(set).
Propriétés calculées avec get/set est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.
Vue d’ensemble
Les propriétés calculées déduisent des valeurs lors de leur accès et peuvent synchroniser l’état lors de leur modification. Utilisez-les pour maintenir facilement les invariants.
Propriété calculée en lecture seule
Une propriété calculée en lecture seule n’a pas d’accesseur set. Gardez les déductions simples et peu coûteuses.
struct Rectangle {
var width: Double
var height: Double
var area: Double { // read-only computed
width * height
}
}
let r = Rectangle(width: 3, height: 4)
print("area =", r.area) // 12Lecture et écriture
Ajoutez des accesseurs de lecture et d’écriture pour créer une propriété calculée lisible et modifiable qui maintient la cohérence des valeurs associées.
struct Circle {
var radius: Double // stored
var diameter: Double { // computed read–write
get { radius * 2 }
set { radius = newValue / 2 }
}
}
var c = Circle(radius: 5)
print(c.diameter) // 10
c.diameter = 14
print(c.radius) // 7Validation dans l’accesseur d’écriture
Les accesseurs d’écriture peuvent valider les données d’entrée. Vous pouvez utiliser le nom implicite newValue lorsqu’aucun nom personnalisé n’est fourni.
struct Percentage {
private var _raw: Int = 0 // backing store
var value: Int {
get { _raw }
set { // uses implicit newValue
_raw = min(100, max(0, newValue))
}
}
}
var p = Percentage()
p.value = 120
print(p.value) // 100
p.value = -5
print(p.value) // 0Accès privé en écriture
Utilisez private(set) pour exposer une valeur en lecture tout en limitant les écritures au type lui-même.
struct ScoreBoard {
private(set) var highScore = 0 // public read, internal write
mutating func update(_ v: Int) {
if v > highScore { highScore = v }
}
}
var s = ScoreBoard()
s.update(30)
print(s.highScore)
// s.highScore = 50 // error outside the typeRemarques et conseils
Remarques :
- Les propriétés calculées ne stockent pas de données ; elles les calculent à la demande.
- Elles ne prennent pas en charge willSet/didSet ; placez plutôt la logique dans l’accesseur d’écriture.
- Gardez les accesseurs de lecture rapides ; les opérations coûteuses doivent être placées dans des méthodes.
Définition d’une propriété calculée
Vérification rapide : qu’est-ce qui définit une propriété calculée ?
Récapitulatif
Récapitulatif : créez des propriétés calculées en lecture seule et en lecture et écriture, validez les données dans l’accesseur d’écriture et utilisez private(set) pour contrôler qui peut modifier les données.
Apprends Swift avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 122
- Leçons
- 409
Questions Fréquemment Posées
La leçon « Propriétés calculées avec get/set » est-elle gratuite ?
Oui — le texte complet de « Propriétés calculées avec get/set » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Propriétés calculées avec get/set » ?
Créez des propriétés calculées (en lecture seule ou en lecture-écriture) avec get/set, imposez des invariants dans les setters et utilisez un contrôle d’accès tel que private(set). Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Swift Academy ?
Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Propriétés calculées avec get/set » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?
Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Propriétés et indices
- lazy et observateurs de propriétés
- Propriétés calculées avec get/set
- Indices pour un accès personnalisé