0Pricing
Swift Academy · Leçon

Propriétés calculées dans les structures

Dériver des valeurs avec des propriétés calculées en lecture seule ou avec get/set.

Propriétés calculées dans les structures 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.

Bienvenue

Les propriétés calculées ne stockent pas de valeur : elles en calculent une et la renvoient à la demande. Elles ressemblent à des propriétés pour les appelants, mais exécutent du code en arrière-plan.

Propriété calculée en lecture seule

```swift struct Circle { var radius: Double var area: Double { .pi * radius * radius } var circumference: Double { 2 * .pi * radius } } var c = Circle(radius: 5) print(c.area) // 78.53... ```

Accesseurs en lecture et en écriture

```swift struct Temperature { var celsius: Double var fahrenheit: Double { get { celsius * 9/5 + 32 } set { celsius = (newValue - 32) * 5/9 } } } var t = Temperature(celsius: 0) print(t.fahrenheit) // 32 t.fahrenheit = 212 print(t.celsius) // 100 ```

Syntaxe abrégée de l’accesseur en lecture

Pour les propriétés en lecture seule, l’enveloppe `get { }` est facultative : ```swift var area: Double { .pi * radius * radius } // same as { get { ... } } ```

newValue dans l’accesseur en écriture

Dans `set`, la valeur entrante est nommée `newValue` par défaut : ```swift set { celsius = (newValue - 32) * 5/9 } ``` Vous pouvez aussi lui attribuer un nom explicitement : ```swift set(degF) { celsius = (degF - 32) * 5/9 } ```

Les propriétés calculées ne sont pas stockées

Les propriétés calculées ne disposent d’aucun stockage associé : chaque accès exécute le code : ```swift struct Stats { var scores: [Int] var average: Double { guard !scores.isEmpty else { return 0 } return Double(scores.reduce(0,+)) / Double(scores.count) } } ```

Propriétés calculées statiques

```swift struct Config { static var appName: String { Bundle.main.infoDictionary?["CFBundleName"] as? String ?? "App" } } print(Config.appName) ```

Propriétés calculées dans les protocoles

```swift protocol Greetable { var greeting: String { get } } struct Person: Greetable { var name: String var greeting: String { "Hello, \(name)!" } } ``` Les protocoles peuvent exiger des propriétés calculées : il suffit de spécifier `{ get }` ou `{ get set }`.

Performances des propriétés calculées et stockées

• Calculée : recalculée à chaque accès — évitez les calculs coûteux dans les propriétés consultées fréquemment • Utilisez `lazy var` pour les valeurs calculées coûteuses qui ne le sont qu’une seule fois : ```swift lazy var thumbnail: UIImage = generateThumbnail() ```

Corps d’expression et bloc

Les propriétés calculées à expression unique de Swift 5.9 et des versions ultérieures renvoient implicitement une valeur : ```swift var fullName: String { "\(first) \(last)" } // equivalent to: var fullName: String { return "\(first) \(last)" } ```

Vérification rapide

Quel est le nom par défaut de la valeur entrante dans le bloc `set` d’une propriété ?

Récapitulatif

Points clés à retenir : • Les propriétés calculées exécutent du code à chaque accès — elles n’ont aucun stockage sous-jacent • Lecture seule : omettez `get`/`set` ou utilisez la syntaxe abrégée `{ return ... }` • Lecture-écriture : fournissez des blocs `get` et `set(newValue)` • Elles sont très utiles pour les valeurs dérivées telles que `area`, `fullName` et les conversions d’unités • Utilisez `lazy` pour les valeurs coûteuses calculées une seule fois À suivre : méthodes mutantes.

Questions Fréquemment Posées

La leçon « Propriétés calculées dans les structures » est-elle gratuite ?

Oui — le texte complet de « Propriétés calculées dans les structures » 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 dans les structures » ?

Dériver des valeurs avec des propriétés calculées en lecture seule ou avec get/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 dans les structures » ?

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

  1. Initialiseurs générés pour les membres et initialiseurs personnalisés
  2. Propriétés stockées et observateurs de propriétés
  3. Propriétés calculées dans les structures
  4. Méthodes mutantes et sémantique de copie à l’écriture
← Retour à Swift Academy