Propriedades computadas com get/set
Crie propriedades computadas (somente para leitura e de leitura e escrita) usando get/set, imponha invariantes nos setters e use controle de acesso como private(set).
Propriedades computadas com get/set é 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.
Visão geral
As propriedades calculadas derivam valores quando acessadas e podem sincronizar o estado ao definir um valor. Use-as para manter os invariantes organizados.
Calculada somente para leitura
Uma propriedade calculada somente para leitura omite set. Mantenha as derivações simples e rápidas.
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) // 12Leitura e escrita com obtenção/definição
Adicione obter/definir para criar uma propriedade calculada de leitura e escrita que mantenha valores relacionados sincronizados.
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) // 7Validação na definição
As definições podem validar a entrada. Você pode usar o nome implícito newValue quando não houver um nome personalizado.
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) // 0Escrita privada
Use escrita privada para expor um valor para leitura e restringir as escritas ao próprio tipo.
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 typeObservações e dicas
Observações:
- As propriedades calculadas não armazenam dados; elas calculam sob demanda.
- Elas não aceitam willSet/didSet; coloque a lógica em definir.
- Mantenha os acessadores rápidos; operações pesadas pertencem aos métodos.
Definição de propriedade calculada
Verificação rápida: o que define uma propriedade calculada?
Recapitulação
Recapitulação: crie propriedades calculadas somente para leitura e de leitura e escrita, valide em definir e use escrita privada para controlar quem pode modificar os dados.
Aprenda Swift com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 122
- Aulas
- 409
Perguntas Frequentes
A aula “Propriedades computadas com get/set” é grátis?
Sim — o texto completo de “Propriedades computadas com get/set” é 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 computadas com get/set”?
Crie propriedades computadas (somente para leitura e de leitura e escrita) usando get/set, imponha invariantes nos setters e use controle de acesso como private(set). 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 computadas com get/set”?
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
- Propriedades e subscripts
- lazy e observadores de propriedades
- Propriedades computadas com get/set
- Subscripts para indexação personalizada