0Pricing
Swift Academy · Aula

Propriedades calculadas em estruturas

Derive valores com propriedades calculadas somente para leitura e com leitura e escrita.

Propriedades calculadas em estruturas é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Boas-vindas

Propriedades calculadas não armazenam um valor — elas calculam e retornam um sob demanda. Para quem as utiliza, parecem propriedades, mas executam código internamente.

Propriedade calculada somente para leitura

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

get abreviado — omitindo a palavra-chave get

Para propriedades somente para leitura, o bloco `get { }` é opcional: ```swift var area: Double { .pi * radius * radius } // same as { get { ... } } ```

newValue em set

Dentro de `set`, o valor recebido é chamado de `newValue` por padrão: ```swift set { celsius = (newValue - 32) * 5/9 } ``` Ou atribua um nome explicitamente: ```swift set(degF) { celsius = (degF - 32) * 5/9 } ```

Propriedades calculadas não são armazenadas

Propriedades calculadas não têm armazenamento de suporte — cada acesso executa o 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) } } ```

Propriedades calculadas estáticas

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

Propriedades calculadas em protocolos

```swift protocol Greetable { var greeting: String { get } } struct Person: Greetable { var name: String var greeting: String { "Hello, \(name)!" } } ``` Os protocolos podem exigir propriedades calculadas — basta especificar `{ get }` ou `{ get set }`.

Desempenho de propriedades calculadas vs armazenadas

• Calculada: recalculada a cada acesso — evite cálculos dispendiosos em propriedades lidas com frequência • Use `lazy var` para valores calculados dispendiosos que são obtidos uma única vez: ```swift lazy var thumbnail: UIImage = generateThumbnail() ```

Corpo de expressão vs bloco

Propriedades calculadas com uma única expressão no Swift 5.9 ou posterior retornam o resultado implicitamente: ```swift var fullName: String { "\(first) \(last)" } // equivalent to: var fullName: String { return "\(first) \(last)" } ```

Verificação rápida

Qual é o nome padrão do valor recebido dentro do bloco `set` de uma propriedade?

Recapitulação

Principais aprendizados: • Propriedades calculadas executam código a cada acesso — não têm armazenamento de suporte • Somente para leitura: omita `get`/`set` ou use a forma abreviada `{ return ... }` • Leitura e escrita: forneça blocos `get` e `set(newValue)` • São úteis para valores derivados, como `area`, `fullName` e conversões de unidades • Use `lazy` para valores dispendiosos calculados uma única vez Próximo: métodos mutadores.

Perguntas Frequentes

A aula “Propriedades calculadas em estruturas” é grátis?

Sim — o texto completo de “Propriedades calculadas em estruturas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Propriedades calculadas em estruturas”?

Derive valores com propriedades calculadas somente para leitura e com leitura e escrita. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Swift Academy?

Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Propriedades calculadas em estruturas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Swift Academy?

Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Inicializadores automáticos e inicializadores personalizados
  2. Propriedades armazenadas e observadores de propriedades
  3. Propriedades calculadas em estruturas
  4. Métodos mutáveis e semântica de cópia na escrita
← Voltar para Swift Academy