Nella sessione Introduzione a Swift WWDC, description
viene dimostrata una proprietà di sola lettura :
class Vehicle {
var numberOfWheels = 0
var description: String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description)
Ci sono delle implicazioni nella scelta dell'approccio di cui sopra rispetto all'utilizzo di un metodo:
class Vehicle {
var numberOfWheels = 0
func description() -> String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description())
Mi sembra che i motivi più ovvi per cui sceglieresti una proprietà calcolata di sola lettura sono:
- Semantica : in questo esempio ha senso
description
essere una proprietà della classe, piuttosto che un'azione che esegue. - Brevità / Chiarezza : evita la necessità di utilizzare parentesi vuote quando si ottiene il valore.
Chiaramente l'esempio sopra è eccessivamente semplice, ma ci sono altri buoni motivi per sceglierne uno rispetto all'altro? Ad esempio, ci sono alcune caratteristiche di funzioni o proprietà che potrebbero guidare la tua decisione su quale utilizzare?
NB A prima vista questa sembra una domanda OOP abbastanza comune, ma sono ansioso di conoscere tutte le funzionalità specifiche di Swift che potrebbero guidare le migliori pratiche quando si utilizza questo linguaggio.
get {}
? Non lo sapevo, grazie!