0Pricing
Swift Academy · Aula

Propriedades armazenadas e observadores de propriedades

Observadores didSet e willSet para reagir a alterações nas propriedades.

Propriedades armazenadas e observadores de propriedades é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 2 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 armazenadas mantêm valores dentro de uma estrutura ou classe. Os observadores de propriedades — `willSet` e `didSet` — permitem reagir quando o valor de uma propriedade armazenada muda.

Propriedades armazenadas

```swift struct Counter { var count: Int = 0 // stored, mutable let name: String // stored, immutable } ``` Todo valor atribuído com `let` ou `var` dentro de um tipo é uma propriedade armazenada.

Observador didSet

```swift struct Gauge { var level: Int = 0 { didSet { print("Changed from \(oldValue) to \(level)") } } } var g = Gauge() g.level = 5 // "Changed from 0 to 5" ``` `oldValue` é o valor anterior fornecido automaticamente.

Observador willSet

```swift struct Slider { var value: Double = 0.5 { willSet { print("About to change to \(newValue)") } } } ``` `newValue` é o valor recebido fornecido automaticamente. `willSet` é acionado antes da atribuição.

Ambos os observadores juntos

```swift var temperature: Double = 20 { willSet { print("Will become \(newValue)") } didSet { print("Was \(oldValue)") } } temperature = 25 // Will become 25.0 // Was 20.0 ```

Limitando valores com didSet

```swift var volume: Int = 50 { didSet { if volume > 100 { volume = 100 } if volume < 0 { volume = 0 } } } volume = 150 // clamped to 100 ``` Um padrão limpo para impor invariantes automaticamente.

Observadores em subclasses

Os observadores de propriedades também funcionam em propriedades herdadas: ```swift class Base { var x: Int = 0 } class Child: Base { override var x: Int { didSet { print("x changed to \(x)") } } } ```

Os observadores não são acionados durante o inicializador

```swift struct Model { var value: Int = 0 { didSet { print("changed") } } init(v: Int) { self.value = v } // does NOT trigger didSet } ``` Os observadores não são acionados durante a atribuição inicial em `init`.

Armazenada vs calculada — distinção rápida

• Armazenada: `var x: Int = 0` — mantém o armazenamento real • Calculada: `var doubled: Int { x * 2 }` — derivada durante o acesso, sem armazenamento • Observador: associado a uma propriedade armazenada — reage a mudanças Não é possível adicionar observadores a propriedades calculadas, pois elas já têm `get`/`set`.

Observação sobre desempenho

Os observadores de propriedades adicionam o custo de uma chamada de função a cada escrita. Para escritas de alta frequência, como na física do laço de um jogo, considere usar uma propriedade armazenada simples e chamar explicitamente a lógica de atualização para obter melhor desempenho.

Verificação rápida

Qual observador de propriedade fornece acesso ao valor **anterior**?

Recapitulação

Principais aprendizados: • Propriedades armazenadas mantêm valores diretamente • `willSet` é acionado antes que o novo valor seja armazenado; `newValue` é fornecido • `didSet` é acionado depois; `oldValue` é fornecido • Os observadores não são acionados durante `init` • São úteis para efeitos colaterais, como atualizações da interface do usuário, registro e validação Próximo: propriedades calculadas.

Perguntas Frequentes

A aula “Propriedades armazenadas e observadores de propriedades” é grátis?

Sim — o texto completo de “Propriedades armazenadas e observadores de propriedades” é 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 armazenadas e observadores de propriedades”?

Observadores didSet e willSet para reagir a alterações nas propriedades. 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 2 de 4.

Quanto tempo leva a aula “Propriedades armazenadas e observadores de propriedades”?

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