0Pricing
Swift Academy · Lección

Propiedades calculadas en structs

Derive valores mediante propiedades calculadas de solo lectura y con get/set.

Propiedades calculadas en structs es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.

Bienvenida

Las propiedades calculadas no almacenan un valor: lo calculan y devuelven bajo demanda. Para quienes las usan parecen propiedades, pero internamente ejecutan código.

Propiedad calculada de solo lectura

```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... ```

get y set

```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 ```

Sintaxis abreviada de get: omitir la palabra clave get

En las propiedades de solo lectura, el contenedor `get { }` es opcional: ```swift var area: Double { .pi * radius * radius } // same as { get { ... } } ```

newValue en set

Dentro de `set`, el valor entrante se denomina `newValue` de forma predeterminada: ```swift set { celsius = (newValue - 32) * 5/9 } ``` También puede asignarle un nombre explícitamente: ```swift set(degF) { celsius = (degF - 32) * 5/9 } ```

Las propiedades calculadas no se almacenan

Las propiedades calculadas no tienen almacenamiento subyacente: cada acceso ejecuta el código: ```swift struct Stats { var scores: [Int] var average: Double { guard !scores.isEmpty else { return 0 } return Double(scores.reduce(0,+)) / Double(scores.count) } } ```

Propiedades calculadas estáticas

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

Propiedades calculadas en protocolos

```swift protocol Greetable { var greeting: String { get } } struct Person: Greetable { var name: String var greeting: String { "Hello, \(name)!" } } ``` Los protocolos pueden exigir propiedades calculadas; solo tiene que especificar `{ get }` o `{ get set }`.

Rendimiento: propiedades calculadas frente a almacenadas

• Calculada: se vuelve a calcular en cada acceso; evite cálculos costosos en propiedades a las que se accede con frecuencia • Use `lazy var` para valores calculados costosos que solo se calculan una vez: ```swift lazy var thumbnail: UIImage = generateThumbnail() ```

Cuerpo de expresión frente a bloque

Las propiedades calculadas de una sola expresión de Swift 5.9 o posterior devuelven el resultado implícitamente: ```swift var fullName: String { "\(first) \(last)" } // equivalent to: var fullName: String { return "\(first) \(last)" } ```

Comprobación rápida

¿Cuál es el nombre predeterminado del valor entrante dentro de un bloque `set` de una propiedad?

Repaso

Conceptos clave: • Las propiedades calculadas ejecutan código en cada acceso; no tienen almacenamiento subyacente • Solo lectura: omita `get`/`set` o use la sintaxis abreviada `{ return ... }` • Lectura y escritura: proporcione bloques `get` y `set(newValue)` • Son ideales para valores derivados como `area`, `fullName` y conversiones de unidades • Use `lazy` para valores costosos que solo se calculan una vez Siguiente: métodos mutating.

Preguntas frecuentes

¿La lección «Propiedades calculadas en structs» es gratis?

Sí — el texto completo de «Propiedades calculadas en structs» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Propiedades calculadas en structs»?

Derive valores mediante propiedades calculadas de solo lectura y con get/set. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Swift Academy?

No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Propiedades calculadas en structs»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Swift Academy?

Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Inicializadores memberwise e inicializadores personalizados
  2. Propiedades almacenadas y observadores de propiedades
  3. Propiedades calculadas en structs
  4. Métodos mutating y semántica de copia al escribir
← Volver a Swift Academy